【问题标题】:Array List Program Stuck [duplicate]数组列表程序卡住[重复]
【发布时间】:2020-10-14 18:45:21
【问题描述】:

我创建了一个名称数组。它允许用户添加,如果用户说退出它会停止列表并打印它。 我如何阻止它将工作 EXIT 放入列表中并摆脱方括号和语音标记。 谢谢


import array
names = ['umayr', 'bob', 'harry']
print("Here is current names: " + str(names))

addname = ""
while addname != 'exit':
    addname = input("Enter a new name or exit:   ")
    names.append(addname)

if addname == 'exit':
    break

print('List of Names' + str(names))

【问题讨论】:

  • 首先,请修正缩进。 break 不允许在循环之外。其次,您的问题是关于列表,而不是数组。您不需要import array(无论如何您都不会使用它)。请更新问题。
  • 请提供预期的minimal, reproducible example。显示中间结果与您的预期不同的地方。我们应该能够复制和粘贴您的代码的连续块,执行该文件,并重现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和所需的输出来测试我们的建议。
  • “我该如何阻止它......?”您编写了代码:当您找到exit 时,不要将其放入列表中。您的循环控制出现故障:必须输入,然后测试/中断,然后附加。
  • "摆脱语音标记" ... 一般来说,你不会——不是在这个级别的编程中。引号是字符串值的语言定义的一部分。您可以通过单独打印项目而不是列表来摆脱括号。
  • 您能提供一些反馈吗?你看答案了吗?

标签: python arrays


【解决方案1】:

您可以使用 while True 运行 infinite 循环,而不是在 while 循环中添加条件,当您从用户那里获取输入时,您可以检查它是否存在可以打破你的循环

import array
names = ['umayr', 'bob', 'harry']
print("Here is current names: " + str(names))

addname = ""
while True:
    addname = input("Enter a new name or exit:   ")
    if addname == "exit":
        break
    names.append(addname)

print('List of Names' + str(names))

【讨论】:

    【解决方案2】:

    要打印不带括号和引号,请使用:

    ", ".join(names)
    

    为了避免添加EXIT,改变输入和追加的顺序并执行初始输入:

    addname = input("Enter a new name or exit:   ")
    while addname != 'exit':
        names.append(addname)
        addname = input("Enter a new name or exit:   ")
    

    【讨论】:

      【解决方案3】:

      你需要在追加之前有你的if addname == 'exit':

      这样

      names = ['umayr', 'bob', 'harry']
      print("Here is current names: " + str(names))
       
      while True:  # You dont need to do the check twice
          addname = input("Enter a new name or exit:   ")
          if addname == 'exit':
              break
          names.append(addname)
      
      
      
      print('List of Names' + str(names))
      

      【讨论】:

      • 你也可以去掉现在没用的addname = ""
      • 是的,我忘记了。编辑它。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2019-01-30
      • 2011-05-26
      相关资源
      最近更新 更多