在python中,有没有什么方法可以在循环结束时要求用户重复while或for循环?

2024-04-24 13:23:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始学习Python,我正在编写一个简单的骰子滚动程序,询问用户骰子的数量和骰子将有多少边。在

到目前为止,我有这个:

numberOfDice = eval(input("How many dice/die would you like to use? "))
numberOfSides = eval(input("How many sides will each die have? "))

for i in range(1,numberOfDice + 1) :
    roll = random.randint(1,numberOfSides)
    print(roll)

while True :
    replay = input("Would you like to play again?     ")
    if replay.lower() == "yes" :
        numberOfDice = eval(input("How many dice/die would you like to use?     "))
        numberOfSides = eval(input("How many sides will each die have?     "))
        for i in range(1,numberOfDice + 1) :
            roll = random.randint(1,numberOfSides)
            print(roll)
    else :
        break

它很管用,但对我来说效率不高。我想知道是否有一种方法可以在第一个for循环结束时询问用户是否想再次播放,如果他们说愿意,请他们输入新的值并再次重复for循环。有什么办法做这种事吗?在


Tags: to用户youforinputeval骰子dice
1条回答
网友
1楼 · 发布于 2024-04-24 13:23:49

一般应用程序是“保持有效”循环,例如:

replay = True
while replay:
    ... remainder of code
    replay = raw_input("Roll again? (y or n)") == 'y'

请注意,这是一个简单的版本,没有错误检查:如果用户输入一个“y”,程序将继续;任何其他操作都会终止抛出一个douse的奇妙世界(永远不要说“die”:-)。在

相关问题 更多 >