我刚开始学习Python,并试图自己制作这个游戏进行自我训练。
我让游戏再花2个小时。 但是我想在休息时获得得分结果(3胜或3输)。
我不知道如何在这种情况下使用while语句。 希望能帮到我。
import random
user_choice = input("select one of rock, paper, scissors. ")
Rock_paper_scissors = ['rock', 'paper', 'scissors']
computer_choice = Rock_paper_scissors[random.randint(0,2)]
if user_choice == computer_choice:
print("Draw.")
elif user_choice == "rock":
if computer_choice == "paper":
computer_score += 1
print("lose.")
else:
user_score += 1
print("win.")
elif user_choice == "scissors":
if computer_choice == "rock":
computer_score += 1
print("lose.")
else:
user_score += 1
print("win.")
elif user_choice == "paper":
if computer_choice == "scissors":
computer_score += 1
print("lose")
else:
user_score += 1
print("win")
答案 0 :(得分:1)
python中的while
循环的工作方式如下:
while condition:
do something...
如果条件为true
,则循环将继续,在这种情况下,您不需要break
语句,您可以这样做:
user_score = 0
computer_score = 0
while (user_score < 3 and computer_score < 3):
game...
如果您真的想使用break
语句,可以这样做:
user_score = 0
computer_score = 0
while True:
if (user_score >= 3 or computer_score >= 3):
break
game...
这样循环将永远持续下去,因为条件为True
,但当玩家获得3分时,循环内的if
将调用break
。
user_score
和computer_score
初始化为零,您必须初始化变量。
答案 1 :(得分:1)
你可以循环你的程序3次,当2个对手中的一个达到2分时停止。
它看起来像这样
while (user_score < 3 and computer_score < 3):
<continue playing>
如果你想使用break:
while True:
<continue playing>
if user_score == 3 or computer score == 3:
break
希望这个帮助
答案 2 :(得分:1)
首先,您需要在代码的前面添加这些得分变量。
computer_score=0
user_score=0
然后你想要一个while语句也包含用户输入
Rock_paper_scissors = ['rock', 'paper', 'scissors']
while True:
user_choice = input("select one of "rock, paper, scissors. ")
computer_choice = Rock_paper_scissors[random.randint(0,2)]
#Your if/elif statements go here
最后和if语句检查某人是否有3分或更高的分数
if user_score >= 3:
print('You win')
break