写重复的代码是程序员最不耻的行为,那么如何做到不用写重复代码又能让程序重复一段代码多次呢,循环语句就派上用场拉……
一、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