写重复的代码是程序员最不耻的行为,那么如何做到不用写重复代码又能让程序重复一段代码多次呢,循环语句就派上用场拉……
一、while 循环
# while 语法结构
while 条件:
执行代码.....
#来写个从0打印到100的小程序,每循环一次,+1+
count = 0
while count <= 100: #只需要count<=100,就执行不断执行下面代码
print("第%s次循环"%count)
count += 1 #每执行一次,就把count+1,否则就会变成死循环,如果count不加1,那么count就一直是0
#执行结果:
第0次循环
第1次循环
第2次循环
第3次循环
第4次循环
………………
………………
第100次循环
# 再做个练习吧,打印0-100的偶数
num = 0
while num <= 100:
if num % 2 == 0:
print("%s"%num,end=" ")
num += 1
print("")
print ("-----loop is ended-----")
# 执行结果
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
-----loop is ended-----
break 与continue
下面我们来看看continue的效果吧……
# 打印1-10,第5次跳过不打印
count = 0
while count <= 10:
count += 1
if count == 5:
continue #当count=5时,结束本次循环,不打印loop 5,直接下一次循环
print ("loop ",count)
print("----end------")
#执行结果
loop 1
loop 2
loop 3
loop 4
loop 6
loop 7
loop 8
loop 9
loop 10
----end------
接下来在看看break的效果,与continue有什么不同……
# 打印1-10,第5次结果循环体
count = 0
while count < 10:
count += 1
if count == 5:
break #当count=5时,结束循环体
print ("loop ",count)
print("----end------")
#执行结果:
loop 1
loop 2
loop 3
loop 4
----end------
来个小练习:优化猜年龄游戏,允许用户最多猜3次,猜了三次后,再问用户是否还想玩,如果用户选择y,则允许在猜三次,否则游戏终止
# 优化猜年龄游戏,允许用户最多猜3次,猜了三次后,再问用户是否还想玩,如果用户选择y,则允许在猜三次,否则游戏终止
age = 25
count = 0
while count < 3:
age_input = int(input("将你猜的年龄输入:"))
if age_input == age:
print("恭喜你猜对了")
break
elif age_input > age:
print("猜大了")
else:
print("猜小了")
count += 1
if count == 3:
choice = input("没猜,游戏是否继续,y/n?:")
if choice == "y" or choice == "Y":
count = 0 #初始化count,循环条件则为真,进入循环
else:
print("游戏结束,欢迎下次光临!")
while...else
与其它语言else一般只与if搭配不同,在python中还有个while....else语句
while后面的else作用是指,当while循环正常执行完,中间没有被 break中止的话,就会执行else后面的语句
# while ....else 判断程序中间否中止过(break)
count = 0
while count < 5:
print ("loop ",count)
if count == 3:
break
count += 1
else: # 中间有被break过将不会被执行else代码块
print("out of loop")
# 执行结果
loop 0
loop 1
loop 2
loop 3
来源:https://www.cnblogs.com/cooled/p/8553660.html