スコアを保持するロックペーパーはさみゲームを作成しようとしていますが、このプログラムを実行するとスコアが毎回リセットされます。スコアを適切に保つために何を変更する必要がありますか?ロックペーパーはさみスコアを維持する
import random
def rockPaperScissors():
playerScore = 0
computerScore = 0
print ""
p = raw_input("Type 'r' for rock, 'p' for paper or 's' for scissors: ")
choices = ['r', 'p', 's']
c = random.choice(choices)
print ""
print "Your move:", p
print "Computer's move:", c
print ""
if p == c:
print "Tie"
elif p == 'r' and c == 's':
playerScore += 1
print "You win"
elif p == 'p' and c == 'r':
playerScore += 1
print "You win"
elif p == 's' and c == 'p':
playerScore += 1
print "You win"
elif c == 'r' and p == 's':
computerScore += 1
print "You lose"
elif c == 'p' and p == 'r':
computerScore += 1
print "You lose"
elif c == 's' and p == 'p':
computerScore += 1
print "You lose"
else:
print "Try again"
print ""
print "Your score:", str(playerScore)+ ", Computer score:", str(computerScore)
while True:
rockPaperScissors()
スクリプトを実行するたびに実行するたびに、新しい値を割り当てる必要があります。 –
私がこの課題を教えたときの示唆:整数1,2,3として選択肢をコード化します。そして、(r-c)%3は7つのif/else節なしで勝者を簡単に示します。 – Prune