在python中使用sys.stdin.readline()从cmd读取多行
我想在运行后从命令行输入我的输入
if __name__ == "__main__": data = list(map(int, sys.stdin.readline().split()))
print(data)
n, capacity = data[0:2]
values = data[2:(2 * n + 2):2]
weights = data[3:(2 * n + 2):2]
输入示例可以是:
2 4020 2
30 3
我的问题是:
1)如何使用我的输入创建列表数据?
2)如何让Python知道我已经完成了输入,它应该执行其余的代码?
回答:
该问题的解决方案取决于您使用的操作系统。
基本上,如果您想使用多行输入,则必须使用sys.stdin.read()
代替sys.stdin.readline()
。由于sys.stdin
在Python中是类似文件的对象,因此该read()
方法将一直读取到到达文件末尾为止。它以特殊字符EOF
(文件结尾)标记。在不同的操作系统上,有不同的发送方式。
:输入后
按Ctrl
+ Z
,然后按Enter
:
2 1020 2
30 3
^Z
:输入后
按Ctrl
+ D
。不需要Enter
(我相信)
如果您想[2, 10, 20, 2, 30, 3]
从输入中获取列表,就可以了。该split()
方法按空格(空格,换行符等)分割。
以上是 在python中使用sys.stdin.readline()从cmd读取多行 的全部内容, 来源链接: utcz.com/qa/427098.html