练习题:
人机大战:人和机器进行猜拳游戏:首先选择角色:1 .曹操 2 张飞 3 刘备
按选择的角色进行猜拳:1 剪刀 2.石头 3. 布 玩家输入一个1-3的数字
然后电脑出拳 随机产生一个1-3的数字,提示电脑出拳结果(1 剪刀 2 石头 3 布)
双方出拳完毕后,角色和机器出拳对战,对战结束后,最后出示本周对战结果.....赢.......输
然后提示用户是否继续?按y继续,按N退出。最后结束的时候输出结果 角色赢几局 电脑赢几局 平局几次 游戏结束
number={1:'剪刀,2:"石头", 3:"布"}
role=['1':'曹操','2':'张飞','3':"刘备']
mcount=0#记录人赢次数
pcount=0#记录机器赢次数
total=0#记录平局次数
while True:
#角色选择
role_num=input("请先选择角色:1 曹操 2 张飞 3 刘备")
print('你选择的角色是{}'.format(role[role_num]))
#出拳
person=int(input("{}请出拳:1 '剪刀,2石头, 3:布".format(role[role_num])))
print('你出的拳是{}'.format(number[person]))
computer=random.randint[1,4)
print('电脑出的拳是{}'.format(number[computer]))
#对战
if number[person]==number[computer]:
print("平局")
total++
else:
if ( number[person]==number[1] and (number[ computer]==number[2] )or (number[person]==number[2] and number[computer]==number[3]) or (number[person]=number[3] and number[computer]==number[1]):
print("computer赢")
pcount++
else:
print("person赢")
mcount++
yesN=input("是否需要继续,y继续,n结束")
if yesN==’y':
continue
else:
print("游戏结束")
break
print("平局{}次,computer赢{}次,person赢{}次".format( total,pcount,mcount))
其他参考答案:
import random
role_dict={'1':'曹操','2':'张飞','3':'刘备'}
first_dict={1:'剪刀',2,'石头',3:'布'}
# 选择角色
role_num=input('请选择角色:1 曹操 2 张飞 3 刘备‘)
print('你选择的角色是:{}'.format(role_dict[role_num]))
#角色出拳
first_num=input('请出拳:1 剪刀 2 石头 3 布')
print('{}出拳:{}'.format(role_dict[role_num],first_dict[int(first_num)]))
#机器出拳
pc_first_num=random.randint(1,3)
print('机器出拳:{}'.format(first_dict[pc_first_num]))
#对战:找出出拳规律:
#人的出拳数字-机器的出拳数字:
#相差等于-2 或者1 ,人赢
#相差等于-1 或者2 机器赢
role=0#统计人赢次数
pc=0#统计机器赢的次数
ping=0#统计平局次数
while True:
if first_num-pc_first_num in(-2,1):
print("{}赢了'.format(role_dict[role_num]))
role++
elif first_num-pc_first_num in(-1,2):
print("机器赢了')
pc++
else:
print("双方平局")
png+=1
choice=input("是否需要继续对战?按y继续,按n退出!")
if choice=='y':
continue
elif choice=='n'
break
print('{}赢{}次,pc赢{}次,平局{}次'.format(role_dict[role_num],role,pc,ping))
网友评论