12、Python之剪刀石头布

# 1:人机大战:人和机器进行猜拳游戏,首先选择角色:1贾宝玉2林黛玉 3薛宝钗,
# 然后选择的角色进行猜拳:1剪刀2石头3布玩家输入一个1-3的数字
# ;然后电脑出拳随机产生1个1-3的数字,提示电脑出拳结果( 1剪刀2石头 3布 ),双方出拳完毕后:角色和机器出拳对战,对战结束后,
# 最后出示本局对战结果...赢.. .输,然后提示用户是否继续﹖按y继续,按n退出。最后结束的时候输出结果角色赢几局电脑赢几局,
# 平局几次游戏结束
import random
#不知道玩几次的时候,就用while循环,条件加TRUE。内部加条件判断
role={1:'贾宝玉',2:'林黛玉',3:'薛宝钗'}
fist={1:'剪刀',2:'石头',3:'布'}
# 选择角色
rn = int(input('请选择角色:(1贾宝玉,2林黛玉,3薛宝钗)'))
print('您选择的角色是:{}'.format(role[rn]))
ro=0#统计角色
pc=0#统计电脑
pi=0#统计平局
while True:
# 角色出拳
a = int(input('{}出拳:(1剪刀 2石头 3布)'.format(role[rn])))
print('{}出拳{}'.format(role[rn],fist[a]))
#机器出拳
b = random.randint(1, 3)
print('电脑出拳{}'.format(fist[b]))
#人机对战
if a-b == 1 or a-b == -2:
print('结果{}胜!'.format(role[rn]))
ro+=1
elif a==b:
print('结果平局!')
pi+=1
else:
print('结果电脑胜!')
pc+=1
c=input('请输入命令:(继续请输入y,退出请输入n)')
if c=='y':
continue
else:
break
 
print('{}赢{}次,电脑赢{}次,平局{}次'.format(role[rn],ro,pc,pi))
 
#做循环题目的特点:先搞定一次循环,然后加条件,加判断,不要陷入死循环