美文网首页
2021-01-21while循环练习题

2021-01-21while循环练习题

作者: testerPM | 来源:发表于2021-01-25 11:18 被阅读0次

练习题:
人机大战:人和机器进行猜拳游戏:首先选择角色: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))


相关文章

  • 2021-01-21while循环练习题

    练习题:人机大战:人和机器进行猜拳游戏:首先选择角色:1 .曹操 2 张飞 3 刘备 按选择的角色进行猜拳:...

  • for 循环练习题

    #1. 使用while循环输出1 2 3 4 5 6 8 9 10 for iin range(10): ...

  • for循环练习题

    一,

  • 3.循环结构

    while循环结构 while(循环条件){循环操作} 练习题 老师每天检查张三的学习任务是否合格,如果不合格,则...

  • C语言练习题: 函数部分

    C语言练习题:函数部分(9题) 上一篇: C语言练习题:循环部分 下一篇: C语言练习题:数组部分 斐波那契,函数...

  • C语言练习题:循环部分

    C语言练习题:循环部分(20题) 上一篇: C语言练习题:if语句部分 下一篇: C语言练习题:函数部分 求一正整...

  • js循环练习题

    question: 1. 一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米。2. 有一...

  • C语言练习:if语句

    C语言练习题:if语句(12题) 下一篇: C语言练习题:循环部分 判定三角形类型 根据x的不同,输出不同的y 判...

  • ChainDesk : Go语言入门指南(二)

    第八章:分支循环的练习题 http://www.chaindesk.cn/witbook/13/179?20190...

  • ABAP循环结构练习题

    求100以内的所有素数。 局部类型,只能本程序使用。 计算自己的实际年龄 输出每月的天数 计算最佳情侣身高 字符串...

网友评论

      本文标题:2021-01-21while循环练习题

      本文链接:https://www.haomeiwen.com/subject/zwmrzktx.html