Python记分计数器,与while、if、elif和else一起生活在游戏中
我试图创造这场比赛,但我被整个计分器的生命和如何打破while循环所困扰Python记分计数器,与while、if、elif和else一起生活在游戏中,python,if-statement,while-loop,Python,If Statement,While Loop,我试图创造这场比赛,但我被整个计分器的生命和如何打破while循环所困扰 player = input("Welcome! Let's play Rock, Paper, Scissors, Lizard, Spock. You have five lives. Press enter to start.") from random import randint t = ["rock", "paper", "scissors", "lizard", "spock"] computer =
player = input("Welcome! Let's play Rock, Paper, Scissors, Lizard, Spock. You have five lives. Press enter to start.")
from random import randint
t = ["rock", "paper", "scissors", "lizard", "spock"]
computer = t[randint(0,4)]
player = False
while player == False:
lives = 5
score = 0
player = input("rock, paper, scissors, lizard, spock?")
print("Computer plays",computer)
if player == computer:
print("Tie!")
score + 1
elif player == "rock":
if computer == "paper":
print("You lose!", computer, "covers", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "lizard":
print("You win!", player, "crushes", computer)
score + 2
elif computer == "spock":
print("You lose!", computer, "vaporises", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
else:
print("You win!", player, "smashes", computer)
score + 2
elif player == "paper":
if computer == "scissors":
print("You lose!", computer, "cuts", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "lizard":
print("You lose!", computer, "eats", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "spock":
print("You win!", player, "disproves", computer)
score + 2
else:
print("You win!", player, "covers", computer)
score + 2
elif player == "scissors":
if computer == "rock":
print("You lose...", computer, "smashes", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "spock":
print("You lose!", computer, "smashes", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "lizard":
print("You win!", player, "decapitates", computer)
score + 2
else:
print("You win!", player, "cuts", computer)
score + 2
elif player == "spock":
if computer == "lizard":
print("You lose!", computer, "poisons", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "scissors":
print("You win!", player, "smashes", computer)
score + 2
elif computer == "rock":
print("You win!", player, "vaporises", computer)
score + 2
else:
print("You lose!", computer, "disproves", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif player == "lizard":
if computer == "spock":
print("You win!", player, "poisons", computer)
score + 2
elif computer == "rock":
print("You lose!", computer, "crushes", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "paper":
print("You win!", player, "eats", computer)
score + 2
else:
print("You lose!", computer, "decapitates", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
else:
print("That's not a valid play!")
player = False
computer = t[randint(0,4)]
以下是一些建议,以了解您管理
分数
计数器、生命
的预期行为,以及如何打破while循环
player = input("Welcome! Let's play Rock, Paper, Scissors, Lizard, Spock. You have five lives. Press enter to start.")
from random import randint
t = ["rock", "paper", "scissors", "lizard", "spock"]
computer = t[randint(0,4)]
player = False
while player == False:
lives = 5
score = 0
player = input("rock, paper, scissors, lizard, spock?")
print("Computer plays",computer)
if player == computer:
print("Tie!")
score + 1
elif player == "rock":
if computer == "paper":
print("You lose!", computer, "covers", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "lizard":
print("You win!", player, "crushes", computer)
score + 2
elif computer == "spock":
print("You lose!", computer, "vaporises", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
else:
print("You win!", player, "smashes", computer)
score + 2
elif player == "paper":
if computer == "scissors":
print("You lose!", computer, "cuts", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "lizard":
print("You lose!", computer, "eats", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "spock":
print("You win!", player, "disproves", computer)
score + 2
else:
print("You win!", player, "covers", computer)
score + 2
elif player == "scissors":
if computer == "rock":
print("You lose...", computer, "smashes", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "spock":
print("You lose!", computer, "smashes", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "lizard":
print("You win!", player, "decapitates", computer)
score + 2
else:
print("You win!", player, "cuts", computer)
score + 2
elif player == "spock":
if computer == "lizard":
print("You lose!", computer, "poisons", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "scissors":
print("You win!", player, "smashes", computer)
score + 2
elif computer == "rock":
print("You win!", player, "vaporises", computer)
score + 2
else:
print("You lose!", computer, "disproves", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif player == "lizard":
if computer == "spock":
print("You win!", player, "poisons", computer)
score + 2
elif computer == "rock":
print("You lose!", computer, "crushes", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
elif computer == "paper":
print("You win!", player, "eats", computer)
score + 2
else:
print("You lose!", computer, "decapitates", player)
lives - 1
if lives == 0:
print("Your socre is", score)
break
else:
print("That's not a valid play!")
player = False
computer = t[randint(0,4)]
得分
和生命
移动到的上方,同时
循环。即使在循环中计算它们的新值,如果它们在循环中定义,它们的值也会重置每个循环
在进行计算以指定新值时,您需要将计算结果保存回变量。像
score+1
和lifes-1
这样的语句在保存结果之前对这些变量没有影响。您可以将所有score+1
更改为score=score+1
(或score+=1
),并将所有lifes-1
更改为lifes=lifes-1
(或lifes-=1
)。有关更多详细信息,请参阅break
语句。break
在您想在的同时打破循环时非常有用,但是由于游戏一直在玩(我假设,因为您一直跟踪生命
),直到所有生命都消失,那么当条件生命>0
为False
时,循环将“中断”李>
在进行这些更改后,您的游戏应按预期运行
希望这有帮助
顺便说一句,游戏做得很好,我喜欢玩和调试它 你有问题吗?请参加考试并复习。