所以我尝试用Python 3和随机AI制作一个基本的Rock Paper Scissors游戏。
import random
x=0
InvalidInput="Invalid Input, please use a capital letter at the start of your input"
while x==0:
AI=random.randint(1,3)
UserInput=input("Rock, Paper, or Scissors?")
if AI==1:
AI="Rock"
elif AI==2:
AI="Paper"
elif AI==3:
AI="Scissors"
print("You chose {}, Computer chose {}".format(UserInput, AI)
#Quit
elif UserInput=="Quit":
break
#Tie
elif AI==UserInput:
print("Its a tie!")
#AI chooses Rock
elif AI=="Rock":
if UserInput=="Paper":
print("You Win!")
elif UserInput=="Scissors":
print("You Lose")
else:
print(InvalidInput)
#AI chooses Paper
elif AI=="Paper":
if UserInput=="Scissors":
print("You Win!")
elif UserInput=="Rock":
print("You Lose")
else:
print(InvalidInput)
#AI chooses Scissors
elif AI=="Scissors":
if UserInput=="Rock":
print("You Win!")
elif UserInput=="Paper":
print("You Lose")
else:
print(InvalidInput)
现在我就是这个错误:
追踪(最近一次通话): 文件“python”,第16行 elif UserInput ==“退出”: ^ SyntaxError:语法无效
答案 0 :(得分:2)
进行了一些更改,缩进了打印件,还写了关闭支架进行打印,将Quit移动到单独的if并添加了对Rock,Paper,Scissors和Quit中的大写字母的检查。
import random
x=0
InvalidInput="Invalid Input, please use a capital letter at the start of your input"
while x==0:
AI=random.randint(1,3)
if AI==1:
AI="Rock"
elif AI==2:
AI="Paper"
elif AI==3:
AI="Scissors"
UserInput=input("Rock, Paper, or Scissors?")
if UserInput[0] not in 'RPSQ':
print(InvalidInput)
continue
else:
#Quit
if UserInput=="Quit":
break
print("You chose {}, Computer chose {}".format(UserInput, AI))
#Tie
if AI==UserInput:
print("Its a tie!")
#AI chooses Rock
elif AI=="Rock":
if UserInput=="Paper":
print("You Win!")
elif UserInput=="Scissors":
print("You Lose")
else:
print(InvalidInput)
#AI chooses Paper
elif AI=="Paper":
if UserInput=="Scissors":
print("You Win!")
elif UserInput=="Rock":
print("You Lose")
else:
print(InvalidInput)
#AI chooses Scissors
elif AI=="Scissors":
if UserInput=="Rock":
print("You Win!")
elif UserInput=="Paper":
print("You Lose")
else:
print(InvalidInput)
答案 1 :(得分:1)
问题主要是你的缩进:
UserInput=input("Rock, Paper, or Scissors?")
if AI==1:
AI="Rock"
elif AI==2:
AI="Paper"
elif AI==3:
AI="Scissors"
print("You chose {}, Computer chose {}".format(UserInput, AI)
上面的行告诉Python if...elif
块已经结束,因为缩进级别降低了。所以这个(紧接在下面)变成elif
而没有附加if
。
#Quit
elif UserInput=="Quit":
break
将其更改为:
#Quit
if UserInput=="Quit":
break
答案 2 :(得分:0)
您需要在代码中进行2次更改。
首先,改变
print("You chose {}, Computer chose {}".format(UserInput, AI)
到
print("You chose {}, Computer chose {}".format(UserInput, AI))
其次,将所有elif
设为if
休息一切都很好