鱼C论坛

 找回密码
 立即注册
查看: 1962|回复: 7

[已解决]猜拳游戏求助

[复制链接]
发表于 2017-7-16 21:33:21 | 显示全部楼层 |阅读模式

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

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

x
#猜拳  #随机产生3个数对应石头剪子布   #参与者输入   #计算比较
import random
List=['石头','剪子','布']
while 1:
c=random.randint(1,3)
if c==1:
        pc='石头'
elif c==2:
        pc='剪子'
elif c==3:
    pc='布'
begin=input('请输入石头剪子布:')
m=str(begin)
if (m not in List)and(m!='end'):
        print('输入有误')
        break
elif (m=='end'):
        print('out')
        break
if (m==pc):
        print('平局')
        break
elif (m==1)+(pc==3)or(m==2)+(pc==1)or(m==3)+(pc==2):
        print('电脑出了'+pc+'你输了')
        break
elif (m==1)+(pc==2)or(m==2)+(pc==3)or(m==3)+(pc==1):
        print('电脑出了'+pc+'你赢了')
        break
执行后就是不出结果,全部都是“请输入”,应该是缩进问题还是什么?
最佳答案
2017-7-16 21:54:12
m何时能是1,2,3呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-16 21:54:12 | 显示全部楼层    本楼为最佳答案   
m何时能是1,2,3呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-16 22:06:07 | 显示全部楼层
冬雪雪冬 发表于 2017-7-16 21:54
m何时能是1,2,3呀!

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

使用道具 举报

发表于 2017-7-16 22:17:08 | 显示全部楼层


你的代码也太凌乱了
改了下:
  1. import random
  2. list1=['石头','剪子','布']
  3. while 1:
  4.     pc=random.randint(1,3)
  5.     begin=input('请输入石头剪子布:')
  6.     if begin=='石头':
  7.         m=1
  8.     elif begin=='剪子':
  9.         m=2
  10.     elif begin=='布':
  11.         m=3
  12.     else:
  13.         print('输入有误')
  14.         break
  15.    
  16.     if (m==pc):
  17.         print('平局')
  18.         
  19.     elif  (pc == 1 and m == 2) or (pc == 2 and m == 3) or ( pc==3 and m == 1):
  20.         print('电脑出了'+list1[pc-1]+'你输了')
  21.       
  22.     elif (pc == 1 and m == 3) or (pc == 2 and m == 1) or ( pc==3 and m == 2):
  23.         print('电脑出了'+list1[pc-1]+'你赢了')
  24.    
  25.       
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-16 23:51:54 | 显示全部楼层
ba21 发表于 2017-7-16 22:17
你的代码也太凌乱了
改了下:

里边的pc-1是指?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-17 00:09:35 | 显示全部楼层
谢melon 发表于 2017-7-16 23:51
里边的pc-1是指?

list1=['石头','剪子','布']
list1[1-1] = '石头';
list1[2-1] = '剪子';
list1[3-1] = '布';
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-17 00:13:28 | 显示全部楼层
ba21 发表于 2017-7-17 00:09
list1=['石头','剪子','布']
list1[1-1] = '石头';
list1[2-1] = '剪子';

哦 原来如此 厉害 !     还有个问题要麻烦你下 #将随机产生的三个数值分别对应石头剪子布 #用穷举法将所有情况用条件语句列出来
import random
List=['石头','剪子','布']
point_pc=0
point_m=0
times=3
while times>0:
  c=random.randint(1,3)
  m=input('此游戏采用三局两胜制,请输入石头剪子布:')
  if (m not in List)and(m!='end'):
        print('输入有误')
  elif (m=='end'):
        print('退出中')
        break
  if c==1:
        pc='石头'
  elif c==2:
        pc='剪子'
  elif  c==3:
        pc='布'
  times=times-1
  if (m==pc):
        print('平局')
  elif (m=='石头')+(c==3)or(m=='剪子')+(c==1)or(m=='布')+(c==2):
        print('电脑出了'+pc+' 你输了 '+'别气馁,还有机会')
        point_pc=point_pc+1
  elif (m=='石头')+(c==2)or(m=='剪子')+(c==3)or(m=='布')+(c==1):
        print('电脑出了'+pc+' 你赢了 '+'再拿下一局')
        point_m=point_m+1
if(point_m>point_pc):
    print('win')
else:
         print('lose')
         print('game over')
这游戏我是只输不赢啊
            
      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-17 00:21:00 | 显示全部楼层
谢melon 发表于 2017-7-17 00:13
哦 原来如此 厉害 !     还有个问题要麻烦你下 #将随机产生的三个数值分别对应石头剪子布 #用穷举法将所 ...

睡觉了,明天看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 21:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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