<p>我试过修改一下你的代码,但效果不太好,我建议你下次在这种情况下少用一些函数,这样会让你的生活更轻松。
不管怎样,我把你的代码(做了一些小改动)放在一个函数中。你知道吗</p>
<pre><code>import random
def RPS():
computerTotal = 0
playerTotal = 0
playerChoice = input ("Enter 1 for rock, 2 for scissors, 3 for paper (0 to end the Tournament): ")
while (playerChoice != 0):
computerChoice = random.randint(1,3)
#Prints R/P/S of player & computer.
if computerChoice == 1:
print ("Computer chose rock")
elif computerChoice == 2:
print ("Computer chose scissors")
elif computerChoice == 3 :
print ("Computer chose paper")
if playerChoice == 1:
print ('Player chose rock')
elif playerChoice == 2:
print ('Player chose scissors')
elif playerChoice == 3:
print ("Player chose paper")
#Calculating & printing who won(the round)
if playerChoice == computerChoice:
print("Draw no one wins!")
elif playerChoice == 1 and computerChoice == 3:
print("Computer Wins!")
computerTotal = computerTotal + 1
elif playerChoice == 1 and computerChoice == 2:
print("Player Wins!")
playerTotal = playerTotal + 1
elif playerChoice == 3 and computerChoice == 1:
print("Player Wins!")
playerTotal = playerTotal + 1
elif playerChoice == 3 and computerChoice == 2:
print("Computer Wins!")
computerTotal = computerTotal + 1
elif playerChoice == 2 and computerChoice == 1:
print("Computer Wins!")
computerTotal = computerTotal + 1
elif playerChoice == 2 and computerChoice == 3:
print("Player Wins!")
playerTotal = playerTotal + 1
playerChoice = input ("Enter 1 for rock, 2 for scissors, 3 for paper (0 to end the Tournament): ")
#if we got here means the player entered 0. printing who won the game
if computerTotal > playerTotal :
print (" Computer wins the game!" )
elif computerTotal == playerTotal:
print (" Draw no one wins!" )
elif computerTotal < playerTotal:
print (" Player wins the game!" )
</code></pre>
<p>如您所见,我没有使用函数来运行播放器选择,因此每当您输入0时,它将中断循环并显示结果。你知道吗</p>