场景概述:
玩家摇两颗色子,如果第一次摇出了7点或11点,玩家胜;如果摇出了2点、3点、12点,庄家胜;如果摇出了其他的点数,游戏继续,玩家重新摇色子;如果玩家摇出了第一次摇的点数,玩家胜;如果玩家摇出了7点,庄家胜;如果玩家摇出其他点数,游戏继续,玩家重新摇色子,直到分出胜负。另外,假设玩家有1000元,直至输光为止。
import random money = 1000 while money > 0: print(f'玩家总资产为{money}元。') zhuma = 0 while zhuma <= 0 or zhuma > money: try: # 此处用try和except防止用户输入非想要的值 zhuma = int(input('请下注:')) except ValueError: pass f1 = random.randrange(1, 7) f2 = random.randrange(1, 7) first_point = f1 + f2 print(f'玩家摇出了{first_point}点') if first_point in (7, 11): # 等价于 if first_point==7 or first_point==11: print('玩家胜!') money += zhuma elif first_point in (2, 3, 12): # 等价于 elif first_point==2 or first_point==3 or first_point==12: print('庄家胜!') money -= zhuma else: while True: curr_point = random.randrange(1, 7) + random.randrange(1, 7) print(f'玩家摇出了{curr_point}点') if curr_point == first_point: print('玩家胜!') money += zhuma break elif curr_point == 7: print('庄家胜!') money -= zhuma break print('玩家已经破产,游戏结束!')