Python 石头剪纸蜥蜴斯波克,巨蟒
我正在用Python为我的班级制作一个石头剪刀蜥蜴斯波克游戏,我试图弄明白为什么无论我做什么选择,我总是赢,即使我把所有的if语句都设置正确`Python 石头剪纸蜥蜴斯波克,巨蟒,python,Python,我正在用Python为我的班级制作一个石头剪刀蜥蜴斯波克游戏,我试图弄明白为什么无论我做什么选择,我总是赢,即使我把所有的if语句都设置正确` import random def instructions(): play = input("Would you like to play Rock, Paper, Scissors, Lizard, Spock(y/n): ").lower() if play == "y": print("1.Rock")
import random
def instructions():
play = input("Would you like to play Rock, Paper, Scissors, Lizard, Spock(y/n): ").lower()
if play == "y":
print("1.Rock")
print("2.Paper")
print("3.Scissors")
print("4.Lizard")
print("5.Spock")
elif play != "n":
print("error has accured please type y for yes or n for no:")
instructions()
def getPlayerChoice():
choice = int(input("What is your choice user?: "))
if choice > 5:
print("Invalid number please try again....")
getPlayerChoice()
elif choice < 1:
print("Invalid number please try again....")
getPlayerChoice()
elif choice == 1:
print("You picked Rock")
elif choice == 2:
print("You picked Paper")
elif choice == 3:
print("You picked Scissors")
elif choice == 4:
print("You picked Lizard")
elif choice == 5:
print("You picked Spock")
return choice
def getCPUChoice():
choice = random.randint(1,5)
if choice == 1:
print("CPU picked Rock")
elif choice == 2:
print("CPU picked Paper")
elif choice == 3:
print("CPU picked Scissors")
elif choice == 4:
print("CPU picked Lizard")
elif choice == 5:
print("CPU picked Spock")
return choice
def winner(playerChoice, CPUChoice, playerWins, CPUWins, ties):
if playerChoice == 1 and CPUChoice == 3 or CPUChoice == 4:
print("Player wins.")
playerWins = playerWins.append(1)
elif playerChoice == 2 and CPUChoice == 1 or CPUChoice == 5:
print("Player wins.")
playerWins = playerWins.append(1)
elif playerChoice == 3 and CPUChoice == 2 or CPUChoice == 4:
print("Player wins.")
playerWins = playerWins.append(1)
elif playerChoice == 4 and CPUChoice == 2 or CPUChoice == 5:
print("Player wins.")
playerWins = playerWins.append(1)
elif playerChoice == 5 and CPUChoice == 1 or CPUChoice == 3:
print("Player wins.")
playerWins = playerWins.append(1)
elif playerChoice == CPUChoice:
print("Tie")
ties = ties.append(1)
else:
print("CPU won")
CPUWins = CPUWins.append(1)
return
def gameTotal(playerWins, CPUWins, ties):
playerWins = sum(playerWins)
CPUWins = sum(CPUWins)
ties = sum(ties)
print("Player final score: ", playerWins)
print("CPU final Score: ", CPUWins)
print("Total ties: ",ties)
def main():
playerChoice = 0
playerWins = []
CPUChoice = 0
CPUWins = []
ties = []
finalPlayerWins = 0
finalCPUWins = 0
finalTies = 0
Continue = 'y'
instructions()
while Continue == 'y':
playerChoice = getPlayerChoice()
CPUChoice = getCPUChoice()
winner(playerChoice,CPUChoice,playerWins, CPUWins, ties)
Continue = input("Would you like to play again (y/n):").lower()
if Continue == 'n':
print("Printing final scores.")
break
gameTotal(playerWins, CPUWins, ties)
main()
随机导入
def指令():
play=input(“你想玩石头、布、剪刀、蜥蜴、斯波克(y/n):”)。lower()
如果播放=“y”:
印刷品(“1.摇滚乐”)
打印(“2.纸张”)
印刷品(“3.剪刀”)
印刷品(“4.蜥蜴”)
打印(“5.Spock”)
埃利夫播放!=“n”:
打印(“出现错误,请键入y表示是,或键入n表示否:”)
指示()
def getPlayerChoice():
choice=int(输入(“您选择的用户是什么?:”)
如果选择>5:
打印(“无效号码,请重试…”)
getPlayerChoice()
elif选项<1:
打印(“无效号码,请重试…”)
getPlayerChoice()
elif选项==1:
打印(“你选了石头”)
elif选项==2:
打印(“您选择了纸张”)
elif选项==3:
打印(“你挑了剪刀”)
elif选项==4:
打印(“你选了蜥蜴”)
elif选项==5:
打印(“你选了斯波克”)
返回选择
def getCPUChoice():
choice=random.randint(1,5)
如果选项==1:
打印(“CPU拾取的岩石”)
elif选项==2:
打印(“CPU拾取的纸张”)
elif选项==3:
打印(“CPU拾取剪刀”)
elif选项==4:
打印(“CPU拾取的蜥蜴”)
elif选项==5:
打印(“CPU拾取的Spock”)
返回选择
def优胜者(选手选择、CPUChoice、选手、CPUWins、平局):
如果playerChoice==1且CPUChoice==3或CPUChoice==4:
打印(“玩家获胜”)
playerWins=playerWins.append(1)
elif playerChoice==2和CPUChoice==1或CPUChoice==5:
打印(“玩家获胜”)
playerWins=playerWins.append(1)
elif playerChoice==3和CPUChoice==2或CPUChoice==4:
打印(“玩家获胜”)
playerWins=playerWins.append(1)
elif playerChoice==4和CPUChoice==2或CPUChoice==5:
打印(“玩家获胜”)
playerWins=playerWins.append(1)
elif playerChoice==5和CPUChoice==1或CPUChoice==3:
打印(“玩家获胜”)
playerWins=playerWins.append(1)
elif playerChoice==CPUChoice:
打印(“领带”)
ties=ties.append(1)
其他:
打印(“CPU赢得”)
CPUWins=CPUWins.append(1)
返回
def gameTotal(球员、球员、领结):
playerWins=总和(playerWins)
CPUWins=总和(CPUWins)
ties=总和(ties)
打印(“球员最终得分:”,球员)
打印(“CPU最终分数:”,CPUWins)
打印(“总领带:”,领带)
def main():
playerChoice=0
playerWins=[]
CPUChoice=0
CPUWins=[]
领带=[]
finalPlayerWins=0
finalCPUWins=0
最终值=0
Continue='y'
指示()
而Continue==“y”:
playerChoice=getPlayerChoice()
CPUChoice=getCPUChoice()
获胜者(选手选择、CPUChoice、选手、CPUWins、平局)
Continue=input(“您想再次播放吗(y/n):”)。lower()
如果Continue==“n”:
打印(“打印最终分数”)
打破
游戏总数(玩家、玩家、平手)
main()
`原因是所有“如果”条件都缺少括号
if False and True or True # =True
if False and (True or False) # =False
原因是所有“if”条件都缺少括号
if False and True or True # =True
if False and (True or False) # =False
总结一下您应该注意的所有事项:
如果为真或(真与假)
-->这基本上是先计算真与假
部分(就像在普通数学中一样),然后计算出真或假
,计算结果为真
如果为真或真和假
-->这基本上是先计算真或真
部分(就像在普通数学中一样),然后计算出真和假
,计算结果为假-,因为不使用括号。递归
,它不是为了满足您的需要。使用while
循环,只要就可以运行,也就是说,-您没有得到正确的选项输入(while choice!='n'和choice!='y':
)否
,游戏也将开始。您应该在说明
函数中添加退出语句总结一下您应该注意的所有事项:
如果为真或(真与假)
-->这基本上是先计算真与假
部分(就像在普通数学中一样),然后计算出真或假
,计算结果为真
如果为真或真和假
-->这基本上是先计算真或真
部分(就像在普通数学中一样),然后计算出真和假
,计算结果为假-,因为不使用括号。递归
,它不是为了满足您的需要。使用while
循环,只要就可以运行,也就是说,-您没有得到正确的选项输入(while choice!='n'和choice!='y':
)否
,游戏也将开始。您应该在说明中添加退出语句