movie1113 发表于 2020-7-30 15:26:37

python猜拳游戏求助

import random
isWin=False
while not isWin:
    num=random.randint(1,3)
    if num==1:
      finger="石头"
    elif num==2:
      finger="剪刀"
    elif num==3:
      finger="布"
    text=input("输入 石头、剪刀、布:")
    blist=["石头","剪刀","布"]
    if(text not in blist):
      print("输入有误,请重新输入:")
    elif text==finger:
      print("电脑出了:%s,平局!"%finger)
    elif (text=='剪刀' and num==3) or (text=='石头' and num==2 or (text=='布' and num==1):
      print("电脑出了:%s,你赢了!"%finger)
    elif (text=="石头" and finger=="布") or (text=="剪刀" and finger=="石头") or (text=="布" and finger=="剪刀"):
      print("电脑出了:%s,你输了!"%finger)
      isWin=True
上面的代码,运行的时候出现错误,不知道是哪里的问题,大佬求教!!!
file:///C:/Users/Administrator/Desktop/1.png

wuqramy 发表于 2020-7-30 15:29:15

本帖最后由 wuqramy 于 2020-7-30 15:32 编辑

最后两个elif的冒号用了中文的冒号
还有在这一句
elif (text=='剪刀' and num==3) or (text=='石头' and num==2 or (text=='布' and num==1):
少了半个括号
import random
isWin=False
while not isWin:
    num=random.randint(1,3)
    if num==1:
      finger="石头"
    elif num==2:
      finger="剪刀"
    elif num==3:
      finger="布"
    text=input("输入 石头、剪刀、布:")
    blist=["石头","剪刀","布"]
    if(text not in blist):
      print("输入有误,请重新输入:")
    elif text==finger:
      print("电脑出了:%s,平局!"%finger)
    elif (text=='剪刀' and num==3) or (text=='石头' and num==2) or (text=='布' and num==1):
      print("电脑出了:%s,你赢了!"%finger)
    elif (text=="石头" and finger=="布") or (text=="剪刀" and finger=="石头") or (text=="布" and finger=="剪刀"):
      print("电脑出了:%s,你输了!"%finger)
      isWin=True

movie1113 发表于 2020-7-30 15:38:34

wuqramy 发表于 2020-7-30 15:29
最后两个elif的冒号用了中文的冒号
还有在这一句



谢谢,成功了!
页: [1]
查看完整版本: python猜拳游戏求助