【问题标题】:how to make a list using while with input function如何使用带有输入功能的while制作列表
【发布时间】:2019-10-14 10:11:28
【问题描述】:

如何使用While 循环收集用户输入列表?

我尝试使用 if 语句在输入为“退出”时停止输入,但它在输入后不打印,它要么打印 1 个输入,然后进行一些调整,它会一遍又一遍地附加相同的输入。

#input methods with lists
x=input('Type to fill your list here:')
list=[]
while x.lower()!='quit':
  print()
  if x.lower()!='quit':
    list.append(x)
    print(list)

我也需要在每次输入后打印列表,并附加以前的结果,但实际输出要么在 1 个输入后停止,要么一遍又一遍地附加相同的输入。

PS:我正在尝试使用字符串而不是 int

【问题讨论】:

标签: python-3.x


【解决方案1】:

Kalyan 输入函数应该包含在 while 循环中。 更正后的代码如下所示。

list=[]
while True:
    x=input('Type to fill your list here:')
    if x.lower() == "quit":
        print(list)
        break
    list.append(x)

【讨论】:

    【解决方案2】:

    您的输入法也需要在循环中,否则基本上发生的情况是它只要求用户输入一次,然后进入 while 循环。

    给你:

    list = []
    while True:
        x=input('Type to fill your list here: ')
        if x.lower()!='quit':
            list.append(x)
            print(list)
        else:
            print(list)
            break
    

    【讨论】:

      【解决方案3】:

      您可以使用try 处理文件结束异常。

      list_ = []
      while 1:
          try:
              string = input()
              list_.append(string)
              print(list_)
          except EOFError:
              break
      

      输入字符串附加到列表list_。但我认为如果通过文件进行输入,它会起作用

      【讨论】:

        【解决方案4】:

        对不起,伙计们,在 if 之后使用 break 并将 if 逻辑移动到 else 有效 这是示例代码

        list=[]
        while True:
         x=input('Type to fill your list here:')
         if x.lower()=='quit':
          break
         else:
          list.append(x)
          print(list)
        

        【讨论】:

        • 你应该对所有正确答案投赞成票并接受其中一个
        • @Trollsors - 不太正确,您应该为您认为有用的答案投票,如果其他答案没有添加任何新内容,则无需投票
        猜你喜欢
        • 2019-11-22
        • 2017-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-11
        • 2018-12-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多