【发布时间】:2020-05-01 22:54:38
【问题描述】:
我已经完成了建议的类似问题,但似乎遇到了死胡同;可能是因为我可能没有充分解释我的问题。 我正在尝试获取一些我可以访问的 STDIN,如下所示:
0
80
90 29
20
我遇到的问题是将第一行之后的整数全部存储到标准 Python 数组中。
[80, 90, 29, 20]
第一行的第一个输入总是一些整数 0 或 1,表示禁用/启用某些“特殊功能”,然后输入任何其他整数,这些整数必须存储到标准数组中。正如你所看到的,一些整数有自己的行,而其他行可能有几个整数(应该完全忽略空白行)。 我一直在尝试使用 sys.stdin 来解决这个问题,因为我知道在剥离内容之后它已经将输入变成了列表对象,但是收效甚微。 到目前为止我的代码如下:
parse = True
arry = []
print('Special Feature? (Give 0 to disable feature.)')
feature = input()
print('Please give the input data:')
while parse:
line = sys.stdin.readline().rstrip('\n')
if line == 'quit':
parse = False
else:
arry.append(line)
print('INPUT DATA:', arry)
“退出”是我尝试使用可以手动输入的后门,因为我也不知道如何检查 EOF。我知道这是非常简单的(几乎没有什么),但我实际上希望生成的输出是这样的:
Special Feature? (Give 0 to disable feature.)
> 0
Please give the input data:
> 80 90 29 20
INPUT DATA: [80, 90, 29, 20]
标有“>”的行没有打印出来,我只是在演示如何在概念上读取输入。 当然,感谢您的任何帮助,我期待您的想法!
【问题讨论】:
标签: python arrays python-3.x stdin sys