gpt4 book ai didi

python - 以完全错误的顺序打印代码

转载 作者:行者123 更新时间:2023-12-01 06:54:53 25 4
gpt4 key购买 nike

```import random
from random import randint


pc = randint(1, 3)
playerinput = input("1 = Rock, 2 = Paper, 3 = Scissors")


def start():
pc = randint(1, 3)

if playerinput == 1:
if pc == 2:
print("You lose!")
elif pc == 1:
print("You draw!")
else:
print("You win!")


elif playerinput == 2:
if pc == 2:
print("You draw!")
elif pc == 3:
print ("You lose!")
else:
print("You win!")

else:
if pc == 3:
print("You draw!")
elif pc == 2:
print("You win!")
else:
print("You lose!")


again = input("Would you like to play again? Type 'YES' if so")
if again == "YES" or "yes" or "Yes" or "yEs" or "yeS" or "YEs" or "YeS":
start()```

它会打印石头布或剪刀,然后就会显示“你想再玩一次吗”。如果你回答"is",它就会打印出你是赢了、输了还是平局。怎么了?

最佳答案

您只调用玩家输入一次,因此一旦玩家做出决定,就会调用 start()只会生成一个新的随机 int。据我了解,你想将代码更改为这样的内容,每次都要求玩家输入start()叫做:(请注意,定义之前的 pc 也不需要,因为您在 start() 中重置了它)

import random
from random import randint

def start():
pc = randint(1, 3)
playerinput = input("1 = Rock, 2 = Paper, 3 = Scissors")

if playerinput == 1:
if pc == 2:
print("You lose!")
elif pc == 1:
print("You draw!")
else:
print("You win!")


elif playerinput == 2:
if pc == 2:
print("You draw!")
elif pc == 3:
print ("You lose!")
else:
print("You win!")

else:
if pc == 3:
print("You draw!")
elif pc == 2:
print("You win!")
else:
print("You lose!")

start()

while True:
again = input("Would you like to play again? Type 'YES' if so")
if again == "YES" or "yes" or "Yes" or "yEs" or "yeS" or "YEs" or "YeS":
start()
else:
break

编辑:正如另一个用户对您的问题的评论中所述,您应该将 if 更改为 if again.lower() = "yes" to be more clean. Also随机导入is not necessary if you call之后随机导入 randint`。

关于python - 以完全错误的顺序打印代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58853129/

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