break 和 continue 语句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
# while 中使用 break n = 0 while n < 5: n += 1 if n == 3: break print(n) print('循环结束!')
# while 中使用 continue n = 0 while n < 5: n += 1 if n == 3: continue print(n) print('循环结束!')
# for 中使用 break for i in 'Python': if i == 'h': break print(i)
# for 中使用 continue for i in 'Python': if i == 'h': continue print(i)
pass 语句
Python中pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
for i in range(5): if i == 3: pass print('执行了pass语句') print(i)
练习题1
猜数字小游戏:给定一个目标值,使用while循环进行猜,猜大猜小都会提示猜大了或猜小了,猜对了的话跳出循环,结束游戏。
# 【综合练习】猜数字小游戏 target_num = 8 n = 0 while True: num = int(input('请输入一个1-10的整数:')) n+=1 if num == target_num: print(f'恭喜你猜对了!你猜了{n}次!') break if num > target_num: print('你猜大了!') if num < target_num: print('你猜小了!')
练习题2
猜拳小游戏: 使用while循环做一个与电脑进行猜拳的游戏。
# 【综合练习】猜拳小游戏 import random while 1: blist=['石头','剪刀','布'] ind = random.choice(blist) m=input('输入石头,剪刀,布,输入end结束游戏:') if(m not in blist) and (m!='end'): print("输入错误,重试:") elif m=='end': print("\n游戏退出") break elif m==ind: print(f"电脑出了{ind},你出了{m}。最终为平局!") elif (m == '石头' and ind =='剪刀') or (m == '剪刀' and ind =='布') or (m == '布' and ind =='石头'): print (f"电脑出了{ind},你出了{m}。最终你赢了!") else: print (f"电脑出了{ind},你出了{m}。最终你输了!")
练习题3
彩票游戏:结合前面学的控制、循环、break语句写一个模拟买彩票的小游戏。
# 【综合练习】彩票游戏 import random t1="开始游戏" t2="结束游戏" print(t1.center(50,"*")) data1=[] money=int(input("输入投入的金额:")) print("你现在余额为:%d元"%money) while 1: for i in range(6): n = random.choice([0, 1]) data1.append(n) if money<2: print("你的余额不足,请充值") m=input("输入投入的金额:") if int(m)==0: break else: money=int(m) while 1: j=int(input("输入购买彩票数量")) if money-j*2<0: print("购买后余额不足,请重新输入") else: money = money - j * 2 print("你现在余额为:%d元" % money) break print("提示:中奖数据有六位数,每位数为0或者1") n2=input("请猜测中奖数据:(输入的数字为0或1)") print(str(data1)) f=[] for x in n2: f.append(x) f1 = str(f) f2 = f1.split("'") f3 = "".join(f2) print("你猜测的数据为:", f3) if f3==str(data1): print("中奖数字为:",data1) print("恭喜你中大奖啦") money=money+j*100 print("你现在余额为:%d元" % money) else: print("中奖数字为:", data1) print("没有中奖,请继续加油") con = input("请问还要继续么?结束请输入no,继续请任意输入字符:") if con=="no": break data1=[] print(t2.center(50,"*")) print("你的余额为:%d元"%money)