02-控制流
在Python中有三种控制流语句————if、while和for
2.1 If 条件
if语句用来检验一个条件,如果条件为真,那么后面的语句块就会被执行,如果条件为假,语句块就不会被执行。
2.1.1 If 条件用法
if条件单分支
if条件: 满足条件后要执行的代码
if双分支(if...else...)
if条件: 满足条件后要执行的代码else:if条件不满足就走这段
if多分支(if...elif...elif...)
if条件: 满足条件后要执行的代码elif条件: 上面的条件不满足就这个elif条件: 上面的条件不满足就这个elif条件: 上面的条件不满足就这个else: 上面的条件不满足就这个
2.1.2 If 应用:猜年龄游戏(基础版)
实现功能:让用户猜年龄,猜对了则结束,猜不对则提示过大或者过小
解释上述代码:
1.我们将变量number设置为23,然后我们将用户输入的数字用int()函数转换为数字并存储在guess变量中。(因为字符不能和数字进行比较大小,需要用int()函数转换)。
2.利用if语句判断两个数字的大小:如果两者相等,则屏幕打印(print())出相对内容;如果大于number,则提示输入小一点数字;如果小于number,则提示输入大一点数字。
2.2 While 循环
只要在一个条件为真的情况下,while语句允许你重复执行一块语句。while语句有一个可选的else从句。
2.2.1 while 循环用法
while用法
while条件: 执行代码...
while...else...用法
当while条件不成立的时候,执行else后面的语句
while条件: 执行代码...else: 执行代码...
2.2.2 while 应用:猜年龄游戏升级版(一)
实现功能:在基础版之上追加个功能,用户可以猜三次,三次之后提示无法机会已经用完,结束。
count=number=23whilecountnumber:print("Try smaller!")else:print("Try bigger")#如果猜测小于实际年龄count+=1else:print("对不起你的机会已经用完了")
解释上述代码:
我们把input和if语句放在了while循环内,并在
while循环开始前把count变量设置为0,并将while设置为count
break表示当输入的值等于number的时候,程序结束,直接退出,不执行之后的代码(有关break和continue的之后会讲哦~)
当count==3时候,while语句不执行,这时候执行else语句,程序结束
2.3 for 循环
for...in 是另外一个循环语句,它在一序列的对象上迭代,即逐一使用序列中的每个项目。之后会更加详细讲解,现在只需要知道的就是序列仅仅是一些项目的有序聚集。
2.3.1 for 循环用法:
for变量in序列对象
2.3.2 for 循环应用:
屏幕输出打印1到99的数字:
foriinrange(1,100):print(i)
解释上述代码:
why range(1,100),而不是range(1,99)?
答案:因为range函数取数只包含开头不包含结尾,典型的“顾头不顾尾”,所以取数1-99,range应该写成1-100
我们使用range函数生成这个数的序列
for循环在这个范围内递归,for i in range(1,100)相当于for i in [1,2,3,...,99],这就如同把序列中的每个数(或对象)赋值给i,一次一个,然后以每个i的值执行这个程序块
2.4 补充知识点:dead loop、break、continue
2.4.1 dead loop:死循环
dead loop就是死循环,如果while条件一直为真,则一直会执行while后面的语句,容易造成一直循环,也就是死循环,发现死循环后,记得在pycharm的左侧点击stop,停止死循环。
2.4.2 break:跳出循环
break用于完全结束一个循环,跳出循环体执行后面的语句
break 的初体验
当打印到5的时候,使用break跳出循环
count=whilecount
该程序只打印到5就终止
2.4.3 continue:跳出循环
continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
continue 的初体验
当打印到5的时候,使用continue跳出循环
count=whilecount
该程序只打印到5之后一直打印5,直到死循环
continue & break 的再遇见
循环过程中,因为某些原因,不想循环了,可以用continue或者break终止掉
只打印1-5和95-100的数字:
count=whilecount5andcount
领取专属 10元无门槛券
私享最新 技术干货