一、项目要求:
电脑随机出拳和用户猜拳三次。胜利条件如下:
(1)(石头 胜 剪刀)
(2)(剪刀 胜 布)
(3)(布 胜 石头)
二、代码
1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*- 3 4 # 项目一: 5 # 1、要求:电脑随机出拳和用户猜拳三次。胜利条件如下: 6 # (1)(石头 胜 剪刀) 7 # (2)(剪刀 胜 布) 8 # (3)(布 胜 石头) 9 10 # 2、分析: 11 # 用户胜利的条件: 12 # (1)以上三点只需要满足其中一任意一条即判定用户胜利, 13 # 所以以上三点是“或”的关系 14 # (2)在每一个条件中,用户如果要赢电脑就必须满足每一个胜利条件中的条件, 15 # 所以每一个胜利的条件是“且”的关系 16 17 # 3、代码 18 import random 19 20 count = 0 21 while True: 22 23 if count == 3: 24 print("猜拳结束") 25 break 26 # 1、用户出拳 27 user_mora = input("提示——【1】石头,【2】剪刀,【3】布。请出拳:") 28 # 判断用户输入的是否为数字 29 if user_mora.isdecimal(): 30 user_mora = int(user_mora) 31 else: 32 print("非法输入") 33 continue 34 35 # 2、电脑出拳 36 computer_mora = random.randint(1,3) 37 print("电脑出的拳是:%d" % computer_mora) 38 39 # 3、判断 40 # 条件 41 condition = (user_mora == 1 and computer_mora == 2)\ 42 or(user_mora == 2 and computer_mora == 3)\ 43 or(user_mora == 3 and computer_mora == 1) 44 # 3.1 用户正确的条件 45 if condition: 46 print("玩家胜!") 47 # 3.2 平局的条件 48 elif user_mora == computer_mora: 49 print("平局!") 50 # 3.3 电脑胜利的条件,只要是除去以上两种情况,剩下的都判定电脑胜利 51 else: 52 print("电脑胜!") 53 54 # 提示次数 55 print("你还有%s次机会" % (2 - count)) 56 57 count += 1
二、图示