问题分析
代码实现
#人机互动玩石头剪刀布的游戏,直到有一方赢3盘为止
import random
a=0 #人赢的次数
b=0 #电脑赢的次数
s=['石头','剪刀','布']
num=1
while (a<3 and b<3):
print('这是第%2d轮'%num)
m=int(input('\t该你出啦,0:石头;1:剪刀;2:布: '))
while(m not in [0,1,2]):
m=int(input('\t你出的不合理,请重新出(0:石头;1:剪刀;2:布):'))
n=random.randint(0,2)
##(m,n)=(0,0)、(1,1)、(2,2)平
##(m,n)=(0,1)、(1,2)、(2,0)人赢
##(m,n)=(0,2)、(1,0)、(2,1)电脑赢
if m==n:
print('\t你出的是%s,电脑出的是%s'%(s[m],s[n]))
print('\t','这次平了','现在你比电脑的分数是:%2d:%2d'%(a,b))
elif m-n==-1 or m-n==2:
print('\t你出的是%s,电脑出的是%s'%(s[m],s[n]))
a+=1
print('\t这次人赢了','现在你比电脑的分数是:%2d:%2d'%(a,b))
elif m-n==1 or m-n==-2:
print('\t你出的是%s,电脑出的是%s'%(s[m],s[n]))
b+=1
print('\t这次电脑赢了','现在你比电脑的分数是:%2d:%2d'%(a,b))
num+=1
if a==3:
print('恭喜你,你赢了,再见!')
else:
print('哈哈,电脑赢了,再见!')
运行结果如下: