鱼C论坛

 找回密码
 立即注册
查看: 892|回复: 9

[已解决]猜石头剪刀布有错误

[复制链接]
发表于 2020-2-24 15:39:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本人新手
制作的猜石头剪刀布的程序有问题 不知道怎么回事  麻烦大佬们帮忙看看
import random
user = input('请输入石头、剪刀、布:')
cont = ['石头','剪刀','布']
num = random.randint(0,3)

if user == '石头':
    if cont[num] == '石头':
        print('系统出%s,您出%s。平局'%(cont[num],user)
        elif cont[num] == '剪刀':
        print('系统出%s,您出%s。您赢'%(cont[num],user)
    elif cont[num] == '布':
        print('系统出%s,您出%s。您输'%(cont[num],user)
elif user == '布':
    if cont[num] == '布':
        print('系统出%s,您出%s。平局'%(cont[num],user)
    elif count[num] == '剪刀':
        print('系统出%s,您出%s。您输'%(cont[num],user)
    elif count[num] == '石头':
        print('系统出%s,您出%s。您赢'%(cont[num],user)
elif user == '剪刀':
    if cont[num] == '布':
        print('系统出%s,您出%s。您赢'%(cont[num],user)
    elif cont[num] == '剪刀':
        print('系统出%s,您出%s。平
最佳答案
2020-2-24 16:27:47
  1. import random
  2. user = input('请输入石头、剪刀、布:')
  3. cont = ['石头','剪刀','布']
  4. num = random.randint(0, 2)

  5. for i in range(20):
  6.     if user == '石头':
  7.         if cont[num] == '石头':
  8.             print('系统出%s,您出%s。平局' % (cont[num],user))
  9.         elif cont[num] == '剪刀':
  10.             print('系统出%s,您出%s。您赢'%(cont[num],user))
  11.         elif cont[num] == '布':
  12.             print('系统出%s,您出%s。您输'%(cont[num],user))
  13.     elif user == '布':
  14.         if cont[num] == '布':
  15.             print('系统出%s,您出%s。平局'%(cont[num],user))
  16.         elif cont[num] == '剪刀':
  17.             print('系统出%s,您出%s。您输'%(cont[num],user))
  18.         elif cont[num] == '石头':
  19.             print('系统出%s,您出%s。您赢'%(cont[num],user))
  20.     elif user == '剪刀':
  21.         if cont[num] == '布':
  22.             print('系统出%s,您出%s。您赢'%(cont[num],user))
  23.         elif cont[num] == '剪刀':
  24.             print('系统出%s,您出%s。平' % (cont[num], user))
复制代码

楼主试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-24 15:48:48 | 显示全部楼层
如果不是缩进的问题,可能是print后面都没有反括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-24 15:57:38 | 显示全部楼层
EthanHsiung 发表于 2020-2-24 15:48
如果不是缩进的问题,可能是print后面都没有反括号

反括号是我失误没复制上去
应该是缩进问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 15:59:43 | 显示全部楼层
  1. import random
  2. cont={'石头':2,'剪刀':1,'布':0}
  3. while True:
  4.     user=input('请输入石头、剪刀、布')
  5.     option=random.choice(['石头','剪刀','布'])
  6.     computer_option=cont[option]
  7.     player_option=cont[user]
  8.     if player_option==computer_option:print(f'选手的选择是{user},电脑的选择是{option},结果平局')
  9.     elif player_option==computer_option+1 or player_option==computer_option-2:print(f'选手的选择是{user},电脑的选择是{option},结果选手胜')
  10.     else:print(f'选手的选择是{user},电脑的选择是{option},结果电脑胜')
  11.     q=input('如果要继续玩,请按任意键,想退出请按q键退出程序')
  12.     if q=='q':break
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 16:27:47 | 显示全部楼层    本楼为最佳答案   
  1. import random
  2. user = input('请输入石头、剪刀、布:')
  3. cont = ['石头','剪刀','布']
  4. num = random.randint(0, 2)

  5. for i in range(20):
  6.     if user == '石头':
  7.         if cont[num] == '石头':
  8.             print('系统出%s,您出%s。平局' % (cont[num],user))
  9.         elif cont[num] == '剪刀':
  10.             print('系统出%s,您出%s。您赢'%(cont[num],user))
  11.         elif cont[num] == '布':
  12.             print('系统出%s,您出%s。您输'%(cont[num],user))
  13.     elif user == '布':
  14.         if cont[num] == '布':
  15.             print('系统出%s,您出%s。平局'%(cont[num],user))
  16.         elif cont[num] == '剪刀':
  17.             print('系统出%s,您出%s。您输'%(cont[num],user))
  18.         elif cont[num] == '石头':
  19.             print('系统出%s,您出%s。您赢'%(cont[num],user))
  20.     elif user == '剪刀':
  21.         if cont[num] == '布':
  22.             print('系统出%s,您出%s。您赢'%(cont[num],user))
  23.         elif cont[num] == '剪刀':
  24.             print('系统出%s,您出%s。平' % (cont[num], user))
复制代码

楼主试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-24 16:59:41 | 显示全部楼层

感谢感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-24 17:03:41 | 显示全部楼层

(0,2)这样不会只有num[0]和num[1]吗?我刚刚输入进入出现了很多个同样的结果

for i in range(20):  还有麻烦问下这是啥意思呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 17:08:05 | 显示全部楼层
芦花鸡 发表于 2020-2-24 17:03
(0,2)这样不会只有num[0]和num[1]吗?我刚刚输入进入出现了很多个同样的结果

for i in range(20):  ...


哦哦哦,抱歉哈,那个是我写的测试用例
你删掉吧(记得改缩进)
0,2是3个,0,1,2这3个
要是0到3就会出现IndexError
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-24 18:08:39 | 显示全部楼层
qiuyouzhi 发表于 2020-2-24 17:08
哦哦哦,抱歉哈,那个是我写的测试用例
你删掉吧(记得改缩进)
0,2是3个,0,1,2这3个

懂了懂了  感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 18:09:29 | 显示全部楼层

有帮助请设最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-29 03:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表