1 while循环
while循环不断运行,直到指定的条件不满足为止
current_number=1
while current_number <= 5:
print(current_number)
current_number+=1
----------
1
2
3
4
5
(1)current_number=1
(2)while循环
①如果current_number<=5
②输出current_number
③current_number=current_number+1
[一旦不满足①,循环停止]
2 定义一个退出值,退出while循环
例:
prompt='给我一个数,我帮你判断它是奇数还是偶数:'
prompt+='\n(如果你想退出,请输入[quit])'
number=""
while number != 'quit': ###
number=input(prompt)
if number !='quit':
number=int(number)
if number==0:
print(f'{number}是一个特殊的偶数')
elif number==1 or number==-1:
print(f'{number}是奇数')
elif number%2==0:
print(f'{number}是偶数')
elif number%3==0:
print(f'{number}是奇数')
----------
给我一个数,我帮你判断它是奇数还是偶数:
(如果你想退出,请输入[quit])78
78是偶数
给我一个数,我帮你判断它是奇数还是偶数:
(如果你想退出,请输入[quit])87
87是奇数
给我一个数,我帮你判断它是奇数还是偶数:
(如果你想退出,请输入[quit])quit
①定义一个提示消息
②创建变量「number」用于记录用户输入的值
将变量的初始值设为空字符串,让python首次执行while代码时有可供检查的东西
★注意:在一开始我自己编写这段代码时,把input放在了while循环外,导致循环无线运行。
3 使用标志
在要求很多条件都满足才能继续运行的程序中,可以定义一个变量,用于判断整个程序是否处于活动状态,这个变量称为标志
该变量值为「True」时,while继续运行
该变量值为「False」时,while退出
prompt='给我一个数,我帮你判断它是奇数还是偶数:'
prompt+='\n(如果你想退出,请输入[quit])'
active=True ###
while active: ###
number=input(prompt)
if number !='quit':
number=int(number)
if number==0:
print(f'{number}是一个特殊的偶数')
elif number==1 or number==-1:
print(f'{number}是奇数')
elif number%2==0:
print(f'{number}是偶数')
elif number%3==0:
print(f'{number}是奇数')
elif number == 'quit': ###
active=False ###
在本例中,while后的一级缩进,用if-elif语句检查变量number的值。如果number的值为「quit」,则while中标志变量active的值为「False」
4 break语句
满足测试条件后,立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可以使用break语句
break语句用于控制程序流程,可用来控制那些代码将执行、哪些代码不执行。从而程序可按自己的要求执行需要执行的代码
prompt='给我一段话,我重复'
prompt+='\n(如果你想退出,请输入[quit])'
while True:
number=input(prompt)
if number=='quit':
break
else:
print(number)
----------
F:\霍格沃兹波板糖的文件夹\python学习\python_work>python magicians
给我一段话,我重复
(如果你想退出,请输入[quit])邓布利多是最伟大的巫师
邓布利多是最伟大的巫师
给我一段话,我重复
(如果你想退出,请输入[quit])quit
只要遇到break,该缩进级别余下的代码都不会执行
在任何python循环中都可使用break语句
5 continue语句
满足测试条件后,忽略余下代码,返回循环开头,可以使用continue语句
例:输出1到10的奇数
number=0
while number<10:
number+=1
if number%2==0:
continue ###
else:
print(number)
----------
1
3
5
7
9