有没有办法在 Python 中扫描未知数量的元素(我的意思是扫描数字,直到用户在标准输入 eof(文件结尾)处写入)?
问问题
1109 次
4 回答
4
您是否需要在输入第二个数字之前处理第一个数字?如果不是,那么int(s) for s in sys.stdin.read().split()
可能会作为列表推导(in []
)或生成器表达式(in ()
,例如作为函数参数)。
于 2012-10-13T15:18:04.290 回答
4
raw_input
(input
在 Python 3 中)EOFError
一旦达到 EOF 就会抛出。
while 1:
try:
num = int(raw_input("enter a number: "))
except EOFError:
break
于 2012-10-13T15:18:46.320 回答
0
这会随时中断
这是一种原始的方法。
In [1]: while True:
...: try:
...: num = int(raw_input())
...: except EOFError:
...: break
...:
我给出的输入的示例输出:
10
20
40
50
这不仅会破坏,EOF
而且会破坏任何不转换为数字的输入。
于 2012-10-13T15:18:27.990 回答
0
我找到了另一种方法……有时,我使用另一种称为R的编程语言。
在那里,您可以输入:
my_variable = scan()
...并根据需要输入数字。即使复制和粘贴。
然后,您可以转储输入:
dump(my_variable, "my_variable.Rdata")
my_variable.Rdata
是一个文本文件,其中包含一个 R 列表...可以很容易地转换为 Python 列表:
# a list in R syntax:
my_variable <- c(1, 2, 3)
# a list in Python syntax:
my_variable = [1, 2, 3]
于 2020-04-10T08:57:51.587 回答