第一章 流程控制

1. 【终止当前循环】break语句

语法参考

break语句用来终止循环,即循环条件成立或者序列还没被完全递归完,也会停止执行循环语句。break语句的常用语法格式如下:

if 条件表达式2:break

其中,条件表达式用于判断何时调用break语句跳出循环。

锦囊1 在for语句中使用break语句

使用for语句在一行输出1~10,当数字等于5时,使用break语句终止循环,代码如下:

for i in range(1,11):if i==5:break   				# break语句终止循环print(i,end=' ')

锦囊2 在while循环中使用break语句

在while循环中使用break语句跳出整个循环,当num<=6时,结束整个循环,输出num的值,代码如下:

num=10while True:   				# while循环条件num-=1     				# 变量自加print(num) 				# 输出num的值if num<=6:break

2. 【终止本次循环进入下一次循环】continue语句

语法参考

continue语句在语句块执行过程中直接跳到循环的下一次迭代。即终止当前循环,而执行下一次循环。continue语句的语法格式如下:

if 条件表达式:continue

其中,条件表达式用于判断何时调用continue语句跳出循环。

锦囊1 在for语句中使用continue语句

使用for语句在一行输出1~10,当数字等于2或等于8时,使用continue语句跳过当前循环,执行下一循环,代码如下:

for i in range(1,11):if i==2 or i==8:continue   					# continue语句跳出本次循环,继续下一次循环print(i,end=' ')

锦囊2 在while循环中使用continue语句

在while语句中使用continue语句,当num的值为2时,跳过本次循环,执行下一循环,代码如下:

num=0                         	# 定义变量并赋初值while num < 5:num += 1                  	# 改变变量的值if num==2:continueprint('sum的值为:',num)  	# 输出sum的值

3. 【循环】for语句

语法参考

for语句是一个依次重复执行的循环。通常适用于枚举或遍历序列,以及迭代对象中的元素。for语句的语法格式如下:

for 迭代变量 in 对象:循环体

参数说明:

  • 迭代变量:用于保存读取出的值;

  • 对象:要遍历或迭代的对象,如字符串、列表、元组、字典等数据结构;

  • 循环体:为一组被重复执行的语句。

锦囊1 进行数值循环

想要实现从1到100的累加,可以通过下面的代码实现:

sum = 0                   					# 保存累加结果的变量
for i in range(101):sum += i             					# 实现累加功能
print('1+2+3+……+100的结果为:',sum)         	# 在循环结束时输出结果

锦囊2 指定范围和步长的数值循环

通过range()函数在for语句中实现输出10以内的所有奇数,代码如下:

for i in range(1,10,2):print(i,end = ' ')

锦囊3 遍历字符串

使用for语句逐个遍历字符串“莫轻言放弃”,代码如下:

str='莫轻言放弃'
for s in str:print(s)

锦囊4 遍历整个列表

输出福布斯2018全球富豪榜前五名,定义一个保存福布斯2018全球富豪榜前五名的列表,然后通过for语句遍历该列表,并输出富豪榜前五名,代码如下:

print('福布斯2018全球富豪榜前五名:')
name = ['杰夫・贝佐斯','比尔・盖茨','沃伦•巴菲特','伯纳德・阿诺特','阿曼西奥・奥特加']for item in name:print(item)

锦囊5 通过for语句和enumerate()函数实现带编号输出

通过for语句和enumerate()函数输出福布斯2018全球富豪榜前五名排名,代码如下:

print('福布斯2018全球富豪榜前八名:')
name = ['杰夫・贝佐斯','比尔・盖茨','沃伦•巴菲特','伯纳德・阿诺特','阿曼西奥・奥特加']for index,item in enumerate(name):print(index + 1,item)

锦囊6 切片遍历列表

使用for语句输出部分列表元素,定义一个包含5个元素的列表,内容为手机品牌名称,然后应用for语句输出第2个到第4个手机品牌名称,代码如下:

phonename = ('华为', 'vivo', '小米', 'OPPO','三星')  		# 定义列表for name in phonename[1:4]:  							# 切片遍历列表print(name)  										# 输出列表元素的值

锦囊7 遍历元组

使用for语句列出英文歌曲的名称,定义一个包含4个元素的元组,内容为英文歌曲的名称,然后应用for语句输出每个元组元素的的值,即输出英文歌曲的名称,代码如下:

musicname = ('Better Off', 'Going Home', 'Breeze', 'The Spectre')  	# 定义元组for name in musicname:  											# 遍历元组print(name)  													# 输出每个元组元素的值

锦囊8 遍历集合

使用for语句遍历集合输出世界著名大学名称,定义一个包含5个元素的集合,内容为世界著名大学学校名称,然后应用for语句语句输出每个集合元素的的值,即输出学校名称,代码如下:

setname = {'麻省理工学院', '斯坦福大学', '哈佛大学', '加州理工学院', '牛津大学'}
print('世界著名大学排名:')for i in setname:print('☛', i)

锦囊9 遍历字典的key-value(键值对)

定义字典,获取每个键和值,可以使用下面的代码:

dictionary = {'无语': '5月25日', '琦琦': '10月8日', '碧海苍梧': '7月27日', }for key, value in dictionary.items():print(key, '的生日为', value)

锦囊10 for语句与for语句嵌套

使用for语句与for语句嵌套输出一个由星号组成的等腰三角形(指定行数为5行),可以使用下面的代码:

row = 5                         	# 行数for i in range(1, row + 1):   		# 控制行数for j in range(row - i):  		# 控制每行的空格数print(" ", end="")     		# 不换行for j in range(1, 2 * i):  		# 控制每行显示的*号数print("*", end="")      	# 不换行print("\n")                  	# 强制换行

锦囊11 for语句与if语句嵌套

分两列显示Python常见的应用领域,代码如下:

print('Python的应用领域:')
fields = ['数据分析','网络爬虫','Web 开发','游戏开发','云 计 算','人工智能']for index,fields in enumerate(fields):  			# for语句if index % 2 == 0:                  			# if语句print(fields,end ='\t')else:print(fields)

锦囊12 for语句与while语句嵌套

使用for语句与while语句嵌套输出一个由星号组成的直角三角形(指定行数为5行),可以使用下面的代码:

row = 5                         	# 行数
for i in range(1, row + 1):   		# 控制行数a = 1while a <= i:print('*', end='')      	# 不换行a += 1print('')                  		# 强制换行

4. 【循环】for…else语句

语法参考

for…else语句是在for语句的基本上添加了一个else子句,用于当循环条件不满足时,执行指定代码。for语句的语法格式如下:

for 迭代变量 in 对象:循环体
else:语句块

参数说明:

  • 迭代变量:用于保存读取出的值;

  • 对象:要遍历或迭代的对象,如字符串、列表、元组、字典等数据结构;

  • 循环体:为一组被重复执行的语句。

  • 语句块:循环条件不满足后执行的一组语句。如果使用break语句中止循环,则不执行。

锦囊1 for…else语句的基本应用

实现从1~100的累加,并且在else子句中输出累加结果,代码如下:

sum = 0                   							# 保存累加结果的变量for i in range(101):sum += i             							# 实现累加功能
else:print('1+2+3+……+100的结果为:',sum)         		# 在循环结束时输出结果

锦囊2 嵌套的for…else语句

使用嵌套的for…else语句输出20以内的全部质数,代码如下:

for i in range(1,20):      			# 循环语句for j in range(2,i):if i % j == 0:     			# 如果一个数能被除1和它本身之外的数整除,则它不是质数break           		# 跳出for循环else:print(i,end='  ')  			# 输出质数
else:print('是质数。')

锦囊3 使用break语句中止循环时不执行else子句

在for…else语句中,当循环条件不满足时,执行else子句,但是如果使用break语句中止循环,则不执行else子句,代码如下:

menu = ['1','2','3','4','5','6','0']  		# 菜单编号for opt in menu:  							# 循环语句if opt == '0':print('找到了退出菜单!')break  								# 跳出for循环       
else:print('没有找到相应菜单!')

5. 【简单的条件判断】if语句

语法参考

有时候,我们需要在满足某种条件时进行一些操作,而不满足条件时就不进行任何操作,这个时候我们可以只使用if语句。Python中使用if保留字来组成最简单的选择语句,if语句的基本形式如下:

if 表达式:语句块

如果判断条件成立就执行语句块,否则直接跳过。

锦囊1 实现“如果…就”形式的判断

通过if语句实现如果年龄小于12岁,就不可以玩《王者荣耀》游戏功能。要求输入年龄,使用if语句判断是否小于12,如果小于,则提示“抱歉,您的年龄太小,不适合玩《王者荣耀》游戏!”,代码如下:

age = int(input('请输入您的年龄:')) 
if age < 12:  # 如果年龄小于12岁print('抱歉,您的年龄太小,不适合玩《王者荣耀》游戏!')

锦囊2 使用and连接条件的判断

如年龄在18周岁以上,70周岁以下,可以申请小型汽车驾驶证。可以分解为两个条件。使用and来实现满足这两个条件的判断,输入年龄>=18,年龄<=70,使用print()函数输出“您可以申请小型汽车驾驶证!”,代码如下:

age = int(input('请输入您的年龄:'))      	# 输入年龄
if age  >= 18  and age  <= 70:        	# 输入年龄是否在18--70之间print('您可以申请小型汽车驾驶证!')   	# 输出“您可以申请小型汽车驾驶证”

锦囊3 使用or连接条件的判断

将日销量低于10的商品,高于100的商品,列为重点关注商品。使用or来实现两个条件的判断,输入日销量<10或者输入日销量>100,使用print()函数输出“该商品为重点关注商品!”,代码如下:

sales = int(input('请输入商品日销量:'))      	# 输入商品日销量
if sales  <10  or sales > 100:        		# 判断条件print('该商品为重点关注商品!')     		# 输出“该商品为重点关注商品”

锦囊4 if语句和if…else语句嵌套

要求输入一个整数,先使用if语句判断是否为有效整数,如果是,则将其转换为整型,再使用if…else语句验证是否在0~150之间,如果在,则输出该数字,否则提示,代码如下:

number = input('请输入一个整数:')if number.isdigit():        				# 外层if语句number = int(number)if 0 <= number <= 150:  				# 内层if语句print(number)else:print('不是有效的成绩!')

锦囊5 if语句、if…else和while语句嵌套

编写一个while死循环,在该循环中,要求输入一个整数,先使用if语句判断是否为有效整数,如果是,则将其转换为整型,再使用if…else语句验证是否在0~150之间,如果在,则输出该数字,并且跳出循环,否则提示并且进行下一次循环,代码如下:

while True:  										# 外层for循环number = input('请输入一个整数:')if number.isdigit():  							# 外层if语句number = int(number)if 0 <= number <150:  						# 内层if语句print(number)break 									# 跳出循环else:print('不是有效的成绩,请重新输入!')

锦囊6 if语句和for语句嵌套

使用for语句循环遍历字符串,在循环体中,使用if语句判断当前字符是否已经获取,如果没有获取,则添加到新字符串中,最后输出新字符串,从而达到去除重复字符的目的,代码如下:

name = '张王李王陈张李王陈王张'
newname = ''for char in name:  					# 外层for循环if char not in newname:  		# 内层if语句newname += charprint(newname)

6. 【二分支条件判断】if…else语句

语法参考

在Python中使用if…else语句根据给定的条件进行判断,并根据判定的结果(真或假)来执行相应的操作,if…else语句的语法格式如下:

if 表达式:语句块1
else:语句块2

其中,if意为“如果”,else意为“否则”,用来对条件进行判断,如果满足条件,则执行if后面的语句块1,否则,执行else后面的语句块2。

使用if…else语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。

锦囊1 实现“如果…就…否则…”形式的判断

使用if…else语句判断机动车驾驶人考试科目一是否通过,通过分数为90分。如果分数大于或等于90分,则提示“考试合格!”,否则提示“考试不合格”。代码如下:

record =int(input('请输入机动车驾驶人科目一的考试成绩:'))if record >= 90:    							# 使用if判断是否符合条件print('本次成绩',record,'分\n考试合格!')
else:        									# 不符合条件print('本次成绩',record,'分\n考试不合格!')

锦囊2 嵌套的if…else语句

“逢七哈哈”游戏的规则是:遇到以数字7结尾的数或者是7的位数时,说“哈哈”,否则直接说出该数字。下面通过嵌套的if…else语句实现输入一个数字,根据该规则输出相应的内容,代码如下:

number = input('请输入一个整数:')    	# 输入要判断的数字if int(number) % 7 == 0:             	# 判断是否为7的倍数print('哈哈')
else:if number.endswith('7'):         	# 判断是否以7结尾print('哈哈')else:print(number)

锦囊3 if…else语句与while语句嵌套

将学生信息保存在字典中,使用if语句判断是否有要查找的学生信息,如果找到通过while语句循环输入并修改学生的信息,当全部输入并且没有出错时,跳出循环,显示修改结果,代码如下:

student = {'id': '1001', 'name': '无语', 'english': 98, 'python': 100, 'c': 96}
studentid = input('请输入要修改的学生ID号:')if student['id'] == studentid:     					# 判断是否为要修改的学生print('找到了这名学生,可以修改他的信息!')while True:                      				# 输入要修改的信息try:student['name'] = input('请输入姓名:')student['english'] = int(input('请输入英语成绩:'))student['python'] = int(input('请输入Python成绩:'))student['c'] = int(input('请输入C语言成绩:'))except:print('您的输入有误,请重新输入。')else:break                             		# 跳出循环print(student)print('修改成功!')
else:print('没有找到该学生的相关信息!')

锦囊4 if…else语句与for语句嵌套

使用if…else语句与for语句嵌套实现当列表不为空时遍历学生信息并输出,如果列表为空,则给出提示,代码如下:

student = [{'id': '1001', 'name': '无语', 'english': 98, 'python': 100, 'c': 96},{'id': '1002', 'name': '琦琦', 'english': 100, 'python': 96, 'c': 97}]if student: 										# 外层if语句for s in student: 								# 内层for语句print(s['id'],'的名字是',s['name'],'English成绩是',s['english'],'Python成绩是',s['python'],'C语言成绩是',s['c'])
else:print('没有学生信息!')

7. 【多分支条件判断】if…elif…else语句

语法参考

在开发程序时,常常遇到多选一的情况,则可以使用if…elif…else语句,该语句是一个多分支选择语句,if…elif…else语句的语法格式如下:

if 表达式1:语句块1
elif 表达式2:语句块2
elif 表达式3:语句块3else:语句块n

使用if…elif…else语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。

锦囊1 实现“如果…否则如果…否则如果…”形式的判断

aqi = int(input('请输入你所在城市的空气质量指数:'))  # 定义整型变量aqi表示空气质量指数
if aqi >= 0 and aqi <= 50:print('空气质量状况:优秀')
elif aqi >= 51 and aqi <= 100:print('空气质量状况:良好')
elif aqi >= 101 and aqi <= 150:print('空气质量状况:轻度污染')
elif aqi >= 151 and aqi <= 200:print('空气质量状况:中度污染')
elif aqi >= 201 and aqi <= 300:print('空气质量状况:重度污染')
else:print('空气质量状况:严重污染')

锦囊2 while和if…elif…else语句嵌套

while True:height=float(input('请输入您的身高(单位:米):'))        		# 输入身高weight=float(input('请输入您的体重(单位:千克):'))       		# 输入体重bmi=weight/(height*height)                                  # 计算BMI指数# 判断体体重状况if bmi<18.5:print('您的BMI指数为:'+str(bmi))                      	# 输出BMI指数print('偏瘦 ~@_@~')elif bmi<23.9:print('您的BMI指数为:'+str(bmi))                      	# 输出BMI指数print('正常 (-_-)')elif bmi<28:print('您的BMI指数为:'+str(bmi))                      	# 输出BMI指数print('偏胖 ~@_@~')else:print('您的BMI指数为:'+str(bmi))                      	# 输出BMI指数print('肥胖 ^@_@^')

锦囊3 while、if和if…elif…else语句嵌套

使用 if…elif…else 语句实现判断用户选择的菜单项,代码如下:

import re   			# 导入正则表达式模块def menu():# 输出菜单print('''X――――――――――――――学生信息管理系统―――――――――――――――X│                                       	 ││   =============== 功能菜单 ============   	 ││                                          	 ││   1 录入学生信息                      	     ││   2 查找学生信息                         	 ││   3 删除学生信息                          	 ││   4 修改学生信息                          	 ││   5 排序                               	 ││   6 统计学生总人数                        	 ││   7 显示所有学生信息                      	 ││   0 退出系统                             	 ││  ======================================    ││  说明:通过数字或↑↓方向键选择菜单          	 │^――――――――――――――――――――――――――――――――――――――――――――^''')if __name__ == '__main__':ctrl = Truewhile (ctrl):menu()                                    	# 显示菜单option = input('请选择:')               	# 选择菜单项option_str = re.sub('\D', '', option)  		# 提取数字if option_str in ['0', '1', '2', '3', '4', '5', '6', '7']:  	# 外层if语句option_int = int(option_str)if option_int == 0:                  	# 内层if语句print('您已退出学生成绩管理系统!')ctrl = Falseelif option_int == 1:                	# 录入学生成绩信息print('录入学生成绩信息')elif option_int == 2:                	# 查找学生成绩信息print('查找学生成绩信息')elif option_int == 3:                	# 删除学生成绩信息print('删除学生成绩信息')elif option_int == 4:                	# 修改学生成绩信息print('修改学生成绩信息')elif option_int == 5:                	# 排序print('排序')elif option_int == 6:                	# 统计学生总数print('统计学生总数')elif option_int == 7:                	# 显示所有学生信息print('显示所有学生信息')

8. 【循环】while语句

语法参考

while语句是通过一个条件来控制是否要继续反复执行循环体中的语句。while语句的语法格式如下:

while 条件表达式:循环体

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。

锦囊1 使用while语句实现固定次数的循环

使用while语句计算1~100偶数之和,代码如下:

num = 1
sum = 0
while num <= 100:  # while循环条件if num % 2 == 0:sum += numnum += 1  # 变量自加
print('1~100偶数之和为:', sum)

锦囊2 使用while语句实现不定次循环(while语句与if语句嵌套)

使用while语句,实现猜数字游戏,代码如下:

import random  										# 导入随机数模块
number = random.randint(1,100)  					# 生成1~100之间的随机整数while True:  										# 无限循环value = int(input('请输入100以内的数字:')) 		# 输入数字if value > number:print('高了')elif value <number:print('低了!')else:print('恭喜您,猜对了!')break # 退出循环

锦囊3 使用while语句实现死循环

使用while语句,实现一个死循环,用于显示学生信息管理系统的功能菜单,并且处理选择结果,代码如下:

import re  # 导入正则表达式模块def menu():# 输出菜单print('''X――――――――――――――学生信息管理系统―――――――――――――――X│                                       	 ││   =============== 功能菜单 ============   	 ││                                          	 ││   1 录入学生信息                      	     ││   2 查找学生信息                         	 ││   3 删除学生信息                          	 ││   4 修改学生信息                          	 ││   5 排序                               	 ││   6 统计学生总人数                        	 ││   7 显示所有学生信息                      	 ││   0 退出系统                             	 ││  ======================================    ││  说明:通过数字或↑↓方向键选择菜单          	 │^――――――――――――――――――――――――――――――――――――――――――――^''')while True: 					# 死循环menu() 						# 显示菜单option = input('请选择')option_str = re.sub('\D','',option)if option_str in '0123456':option_int = int(option_str)if option_int == 1:print('录入学生信息')elif option_int == 2:print('查找学生信息')elif option_int == 3:print('删除学生信息')elif option_int == 4:print('修改学生信息')elif option_int == 5:print('排序')elif option_int == 6:print('显示所有学生信息')

锦囊4 使用while语句与while语句嵌套

使用while语句与while语句嵌套输出九九乘法表,代码如下:

i= 1                                                      	# 初始值while i <= 9:                                            	# 外层循环(控制行数)j = 1while j < i+1:                                        	# 内层循环(控制列数)result = i * jprint(str(i)+'*'+str(j)+'=',i*j,end='\t')      		# 不换行j += 1print('')                                             	# 强制换行i += 1

9. 【循环】while…else语句

语法参考

while…else语句是在while语句的基本上添加了一个else子句,用于当循环条件不满足时,执行指定代码。while…else语句的语法格式如下:

while 条件表达式:循环体
else:语句块

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,执行语句块中的语句。

锦囊1 使用while语句实现不定次循环时输出循环次数

使用while语句,实现猜数字游戏,要求每次只有5次机会,当机会用完,还没有猜对时,结束程序并且提示“您的机会已用完。”,代码如下:

import random  						# 导入随机数模块number = random.randint(1, 100)  	# 生成1~100之间的随机整数
count = 0  							# 次数while count < 5:  					# 无限循环count += 1value = int(input('请输入100以内的数字:'))  		# 输入数字if value > number:print('高了')elif value < number:print('低了!')else:print('恭喜您,猜对了!')break  						# 退出循环
else:print('您的机会已用完。')

10. 【条件表达式】

语法参考

条件表达式是Python选择语句中比较简练的一种赋值方式,常用于赋值语句中,其基本格式为:

a if b else c

如果判定条件b为真,返回为真时的结果a,否则,返回为假时的结果c。

锦囊1 应用条件表达式比较大小

使用条件表达式返回两个数中较大或较小的数,代码如下:

num1 = 100
num2 = 78large = num1 if num1 > num2 else num2    		# 求较大数
print('%d和%d %d较大。'%(num1,num2,large))small = num1 if num1 < num2 else num2    		# 求较小数
print('%d和%d %d较小。'%(num1,num2,small))

锦囊2 应用条件表达式根据计算结果返回不同的信息

使用条件表达式判断一个数能否被2整除,并根据结果返回是奇数还是偶数,代码如下:

number = int(input('请输入一个数:'))
result = '奇数' if number % 2 == 1 else '偶数'  # 条件表达式print(number, '是' + result)

锦囊3 应用条件表达式处理自定义函数的可选参数

使用条件表达式返回一个数是奇数还是偶数,代码如下:

def demo(param = None):return '没有指定参数' if param == None else 'param参数值为――'+ paramprint(demo())               		# 调用函数不指定参数
print(demo('莫轻言放弃'))   			# 调用函数并指定参数

锦囊4 使用多条件的条件表达式

使用条件表达式返回输入的年份是否为闰年,代码如下:

year = int(input('请输入一个数:'))
result = '闰年' if (year % 4 ==0 and year%100 !=0 ) or year%400 ==0 else '不是闰年'print(year,  result)

本文链接:https://my.lmcjl.com/post/1469.html

展开阅读全文

4 评论

留下您的评论.