猜拳游戏
用户输入0到2任意一个数字,分别定义为石头、剪刀、布,与随机生成数进行猜拳。
#石头剪刀布游戏:石头:0,剪刀:1,布:2
#引入随机数库
import random
#将输入内容强制转化为数字
a=int(input("请输入一个数字(0代表石头,1代表剪刀,2代表布):"))
#判断数字代表的含义
if a==0:
c="石头"
elif a==1:
c="剪刀"
elif a==2:
c="布"
else :
c="不合法的数字"
#显示结果
print("您输入的数字是:",a,"\t表示为:",c)
#生成0到2的随机数
b=random.randint(0,2)
#判断数字代表的含义
if b==0:
d="石头"
if b==1:
d="剪刀"
if b==2:
d="布"
#显示结果
print("电脑生成的数字是:", b, "\t表示为:", d)
#进行逻辑判断
if a==b:
print("平局")
elif a==0 :
if b==1:
print("你赢了,石头砸剪刀")
else :
print("你输了,布包围了石头")
elif a==1:
if b==0:
print("你输了,石头砸剪刀")
else:
print("你赢了,剪刀剪开了布")
elif a==2:
if b==0:
print("你赢了,布包住了石头")
if b==1:
print("你输了,剪刀剪开了布")
else:
print("数字输入不合法,请重新输入")
方法二:
石头 | 石头赢剪刀 |
---|---|
剪刀 | 剪刀赢布 |
布 | 布赢石头 |
以循环队列来看,如果用户是石头(0),则随机数是用户数(0)加1,用户胜利,反之,随机数是用户数(0)加2,随机数胜利。所以存在以下关系:
#b为生成的随机数,a为用户输入的数字
if b == (a + 1) % 3:
print('你赢了')
elif b == (a + 2) % 3:
print('你输了')
else:
print('平局')
注:要对数据进行严格判断