python - 如何将列表中的n个数字一一输入?

标签 python list input

我希望我的程序询问 n 值。用户输入值后, 程序接受 n 个值的输入并将它们存储在列表或类似数组的内容中(在 C 中)。 输入必须采用以下格式:

Enter value of n: 4
2
5
7
1

我想将此输入存储在列表中以供以后使用。

最佳答案

最简单的方法是这样的:

n = int(input())
l = [int(input()) for _ in range(n)]

但是这有很多问题:

  • 如果输入无效,它将崩溃。
  • 它评估危险的输入 - 用户可以修改您的程序状态。 (Python 2.x)
  • 用户可以输入 float ,程序不会提示,它只会默默地截断。 (Python 2.x)

相反,您可以使用 raw_input 并将结果解析为整数。您还需要在适当的位置进行错误处理。如何处理错误取决于程序。

您可能会发现此函数作为起点可能很有用:

def getNumber(prompt = ''):
    while True:
        try:
            return int(raw_input(prompt))
        except:
            print "Invalid input, try again."

请注意,input 和 raw_input 的行为在 Python 2.x 和 Python 3.x 之间发生了变化。 Python 3.x 的输入函数的行为类似于 Python 2.x 的 raw_input 函数。

关于python - 如何将列表中的n个数字一一输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542753/

相关文章:

python - "Cloning"行或列向量

python - 我的套接字程序不打印输出

python - 如何乘以列表列表的位置

c - 如何获取输入直到输入 "only"换行符或空格?基本上如何运行循环直到您不输入任何内容作为输入?

python - 完全隐藏x轴

python - 如何在Pyinstaller中包含Google API JSON凭证文件?

python - 将列表列表转换为 Python 3 中的一组列表

python - 在 Python 中,是否有一种优雅的方法可以在没有显式循环的情况下以自定义格式打印列表?

javascript - 输入字段到文本输出

html - 在现代 Web 开发中对输入字段使用 "name"属性是否多余?