我希望我的程序询问 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/