【问题标题】:Appending to list from while loop Python 3从while循环Python 3追加到列表
【发布时间】:2014-11-12 11:03:20
【问题描述】:

如何使用 while 循环将用户 int 输入附加到列表中?因此,只要用户输入的数字大于零,就会将其添加到列表中,但当它是负数时,while 循环将中断并继续执行下一个操作。我是 python 3 的初学者,我尝试了一些东西但没有奏效。这是我尝试过的:

numbers=[]
    number = int(input("Please input a number: "))
    while number>=0:
        numbers.append(number)
        if number <0:
            break   

【问题讨论】:

  • 你永远不会在while循环中更新number...
  • 不知道……谢谢。

标签: list loops python-3.x


【解决方案1】:

你有两个逻辑错误:

  • 首先,一旦您进入while 循环,您就不会再次提示输入号码。您需要在循环中获取一个新数字,以便您决定下一次迭代时要做什么(追加到列表中,或停止循环)。
  • 其次,您的测试if number &lt; 0 是多余的。只要数字大于或等于零,您的循环就会运行;所以在循环内部,数字不可能小于零。上面while的测试已经足够了。

我个人会将循环重写为无限循环while True: ...,并在循环内首先提示输入一个数字。如果那个数字是&lt;0,我会break 退出循环。否则,循环的其余部分是将新数字附加到您的列表中。

但是有无数的解决方案。祝你好运!

【讨论】:

  • 谢谢!这真的很有帮助!
【解决方案2】:

你可以像这个伪代码一样使用 for 循环

if number<0
    // do nothing or something or whatever
else:
    yourRange = range(0,number)
    for count in yourRange:
        numbers.append(number)

【讨论】:

  • 感谢您抽出宝贵时间回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-10
  • 1970-01-01
相关资源
最近更新 更多