需求:
一、
1. 開始新游戲
2. 退出
開頭有次兩個選項,按 1 則開始新游戲,按 2則退出
二、
每局三個回合后退出,三個回合后未能分出勝負,讓用戶選擇是否繼續游戲。
代碼如下:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Time : 2017-08-26 22:09 4 # @Author : Aixce 5 # @Email : aixce@outlook.com 6 # @File : stj.py 7 # @Software: PyCharm 8 import random #隨機數模塊 9 10 num = 3 11 d = 0 12 p = 0 13 n = 0 14 15 dict1 = { 16 1:"剪刀", 17 2:"石頭", 18 3:"布", 19 } 20 print("--------- By.Aixce 猜拳小游戲 ---------") 21 print ("*********************") 22 print ("1. 開始新游戲") 23 print ("2. 退出") 24 print ("*********************") 25 change = input("請選擇:") 26 if change == '1': 27 while num > 0: 28 rand = random.randint(1, 3) # 取隨機數 29 while True: 30 i = input('請輸入手勢[剪刀、石頭、布]:') 31 k = i.strip() #移除前后空格 32 if k in dict1.values(): #判斷用戶輸入的值是否在字典中 33 break 34 else: 35 print("Error:“%s”是一個錯誤手勢"%(i)) 36 37 if rand == 1: 38 if k == "剪刀": 39 result = ("平局") 40 p += 1 41 elif k == "石頭": 42 result = ("恭喜!你贏了。") 43 n += 1 44 45 else: 46 result = ("電腦勝") 47 d += 1 48 49 elif rand == 2: 50 if k == "剪刀": 51 result = ("電腦勝") 52 d += 1 53 elif k == "石頭": 54 result = ("平局") 55 p += 1 56 else: 57 result = ("恭喜!你贏了。") 58 n += 1 59 else: 60 if k == "剪刀": 61 result = ("恭喜!你贏了。") 62 n += 1 63 elif k == "石頭": 64 result = ("電腦勝") 65 d += 1 66 else: 67 result = ("平局") 68 p += 1 69 70 print("電腦出的是:%s\n你出的是:%s\n結果是:%s"%(dict1[rand],k,result)) 71 num -= 1 72 g = d + p + n 73 if num == 0: 74 print("本次猜拳的結果是:(平局:%s局、獲勝:%s局、失敗:%s局)"%(p,n,d)) 75 if n > d: 76 print("經過%s個回合你贏了。"%(g)) 77 elif n < d: 78 print("經過%s個回合電腦勝。"%(g)) 79 else: 80 j = input("經過%s回合后未能分出勝負是否繼續[y/n]:"%(g)) 81 if j == "y" or j == "Y" or j == "是": 82 num = 3 83 else: 84 exit() 85 print("游戲結束.")
執行結果:


