在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 40

20 2

30 3

我的问题是:

1)如何使用我的输入创建列表数据?

2)如何让Python知道我已经完成了输入,它应该执行其余的代码?

回答:

该问题的解决方案取决于您使用的操作系统。

基本上,如果您想使用多行输入,则必须使用sys.stdin.read()代替sys.stdin.readline()。由于sys.stdin在Python中是类似文件的对象,因此该read()方法将一直读取到到达文件末尾为止。它以特殊字符EOF(文件结尾)标记。在不同的操作系统上,有不同的发送方式。

:输入后

Ctrl+ Z,然后按Enter

2 10

20 2

30 3

^Z

:输入后

Ctrl+ D。不需要Enter(我相信)

如果您想[2, 10, 20, 2, 30, 3]从输入中获取列表,就可以了。该split()方法按空格(空格,换行符等)分割。

以上是 在python中使用sys.stdin.readline()从cmd读取多行 的全部内容, 来源链接: utcz.com/qa/427098.html

回到顶部