【问题标题】:Is there any way in python to repeat a while or for loop by asking the user to do so at the end of the loop?python中有没有办法通过要求用户在循环结束时重复while或for循环?
【发布时间】:2015-10-14 06:35:39
【问题描述】:

我刚开始学习 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 循环。有没有办法做这样的事情?

【问题讨论】:

    标签: python


    【解决方案1】:

    一般应用是一个“stay while valid”循环,如:

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

    请注意,这是一个简单的版本,没有错误检查:如果用户输入“y”,则程序继续;其他任何事情都会终止滚水的美妙世界(永远不要说“死”:-))。

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 1970-01-01
      • 2014-03-15
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2014-02-01
      相关资源
      最近更新 更多