【发布时间】:2018-03-01 12:00:19
【问题描述】:
ComputerChoice = ""
x = 0
wins = 0
losses = 0
ties = 0
rounds = 0
abc = 0
CurrentStatus = 'started'
Choices = ['Rock','Paper','Scissors']
#################################################
def computerchoice(ComputerChoice, Choices, UserChoice): #number
listthing = Choices[:]
#listthing.remove[UserChoice]
ComputerChoice = random.choice(listthing)
ComputerChoice = Choices.index(ComputerChoice)
return ComputerChoice
#################################################
import easygui
import random
easygui.msgbox( "Hello, This is a standard game of Rock, Paper, Scissors.","Welcome!","Next>>>")
while x == 0:
UserChoice = easygui.buttonbox(' __ __ __ __ __ __ __ __ __ __ You just ' +CurrentStatus+ '. __ __ __ __ __ __ __ __ __ __ \n You currently have won '+str(wins)+ ' times, lost ' +str(losses)+' times, and tied '+ str(ties)+' times. \n\n\nClick your next move: ','Choice Picker 2000',['Rock','Paper','Scissors','Done'])
UserChoice = ['Rock','Paper','Scissors','Done'].index(UserChoice)
ComputerChoice = computerchoice(ComputerChoice, Choices, UserChoice)
if UserChoice == ComputerChoice:
ties = ties +1
rounds = rounds +1
CurrentStatus = "Tied"
if UserChoice== 3:
x = 1
break
elif UserChoice > ComputerChoice and UserChoice + ComputerChoice != 4:
wins = wins +1
rounds = rounds + 1
CurrentStatus = "Won"
elif UserChoice < ComputerChoice and UserChoice + ComputerChoice != 4:
losses = losses +1
rounds = rounds +1
CurrentStatus = "Lost"
elif UserChoice + ComputerChoice ==4 and UserChoice != ComputerChoice:
if Userchoice == 1:
score = score +1
rounds = rounds +1
CurrentStatus = "Won"
elif ComputerChoice == 1:
losses = losses +1
rounds = rounds +1
CurrentStatus = "Lost"
result = ["Cool.","Okay.","I am a failure"]
if wins>losses:
easygui.msgbox("You won "+str(wins)+ " times, lost " +str(losses)+" times, tied "+ str(ties)+ " and won " +str(int(float(wins)/float(rounds)*100))+ "% of the time.","",result[0])
elif wins==losses:
easygui.msgbox("You won "+str(wins)+ " times, lost " +str(losses)+" times, tied "+ str(ties)+ " and won " +str(int(float(wins)/float(rounds)*100))+ "% of the time.","",result[1])
elif wins<losses:
easygui.msgbox("You won "+str(wins)+ " times, lost " +str(losses)+" times, tied "+ str(ties)+ " and won " +str(int(float(wins)/float(rounds)*100))+ "% of the time.","",result[2])
当我运行它时,它工作正常,但如果你按“摇滚”,那么你将永远平局/输球,永远不会赢。如果您按“剪刀”,那么您将永远平局/赢,永远不会输。 我很确定这是同一个问题,但如果有人可以查看它,我将非常感激。
【问题讨论】: