gpt4 book ai didi

python - 我似乎不知道如何生成多个随机数以等于 10 分

转载 作者:行者123 更新时间:2023-11-30 23:37:36 24 4
gpt4 key购买 nike

我要做的就是将 PlayerOne 的随机生成的数字与 PlayerTwo 的随机生成的数字进行比较。数字在 1 到 13 之间。每次有人获胜,他们就会得到 1 分。第一个达到 10 分的玩家获胜。我为每个玩家生成了第一个随机数,并创建了一个得分表,为获胜者加 1。我不明白如何通过单击返回按钮而不是自动生成两次。另外,我不明白如何使我制作的得分表自动了解哪个玩家获胜并为获胜玩家加分。谢谢。

import random


for PlayerOne in range(1):
Score = 1
PlayerOne = random.randint(1, 13)
print(("Player One: %s" % PlayerOne))

for PlayerTwo in range(1):
PlayerTwo = random.randint(1, 13)
print(("Player Two: %s" % PlayerTwo))


if PlayerOne > PlayerTwo:
print("Player One wins!")
print(("Player One: %s" % Score))
print("Player Two: 0")

else:
print("Player Two wins!")
print("\nScore:")
print("Player One: 0")
print(("Player Two: %s" % Score))

最佳答案

考虑您的代码片段:

for PlayerTwo in range(1):
PlayerTwo = randint()
print PlayerTwo

range(1) 相当于 [0],例如一个列表,其中一个元素的值为零。因此,for 循环只执行一次,将值 0 赋给变量 PlayerTwo。随后,您用其他一些整数覆盖该变量。

其他人建议您查看 for 循环如何工作的原因是 for 循环中的代码只执行一次,这可能不是您想要做的。让您感到困惑的可能不是 for 循环,而是 range

因为您不知道发生的游戏的确切数量,所以 for 循环可能并不理想。

这是我如何解决这个问题的伪代码(不是真正的代码)。尝试理解为什么我使用 while 而不是 for:

while p1score < 10 and p2score < 10:
p1 = randint()
p2 = randint()
if p1 > p2:
p1score++
elif p2 > p1:
p2score++

关于python - 我似乎不知道如何生成多个随机数以等于 10 分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15386763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com