我们现在可以利用我们已经学的东西写一些小脚本,但是我们发现我们的程序都是一次性的,每次执行完都需要重新启动。
这时我们可以使用while循环来让我们的程序一直运行,除非我们要退出。
num = 0
while True:
num += 1
print(num)
你可以把上面这段代码复制到你的电脑上运行下,你会发现终端上显示的数字在一直不停地刷新,你可以按CTRL + C 终止,或者等到你内存被占满报错终止。
这个就是最简单的while循环,上面这个就是最简单的死循环,我们在以后的使用中可能会不小心就写出一个死循环。
跳出while循环有两种方法:
1.while条件语句为False
2.break
#while条件语句为False,退出循环。
num = 0
while num < 10:
num += 1
print(num)
#break退出循环
num = 0
while True:
num += 1
print(num)
if num > 10:
break
while循环可以在后面加一个else,在执行完while后会执行else:
num = 0
while num < 10:
num += 1
print(num)
else:
print('hello,python')
我们可以尝试对上节课的代码进行改善,除非输入Q退出,否则继续执行:
award = 0
while 1: #1在bool中为True,所以while 1可以正常运行
name = input('请输入员工姓名,输入Q退出').strip()
if name =='Q':break
day = input('请输入到岗天数,输入Q退出').strip()
if day.isdigit():
if int(day) > 20 and int(day) < 30:
award += 500
print('恭喜%s获得全勤奖金'%name)
elif int(day) <= 20 and int(day) > 10:
award += 200
print('恭喜%s获得半勤奖金'%name)
elif int(day) <= 10 and int(day)>= 0:
award += 200
print('%s,下回能不能不迟到了?'%name)
else:
print('兄弟,一个月只有30天...')
else:
if day =='Q':break
else:print('输入错误')
while里面还有一个continue,continue可以跳过(非退出)本次的循环执行下一次循环,可以用continue做一个简单的生成偶数的代码。
num = 1
while num < 10:
num += 1
if num%2 > 0:
continue
print (num)