繁体   English   中英

如何在Python 3中获取由空格和回车分隔的多组输入?

[英]How to take multiple sets of inputs separated by space and carriage return in Python 3?

因此,我们允许用户输入他们要输入的数字集。 每组输入将包含两个由空格分隔的整数。 然后,回车表示下一组输入。 例如,

Enter number of sets: 3
1 3
2 4
5 6

接下来,我们将这些输入变量a,b,执行相同的操作,显示3个结果:

4
3
1  

它应该首先获取所有输入,然后显示所有相应的输出。 我们有处理1组输入的逻辑,但是如何循环它才能接受这种格式的输入呢?

sets = int(input("Enter number of sets: "))
inputs = []
for n in range(sets):
    inputs[n] = int(input().strip())

这会导致列表超出范围错误而崩溃。 我们正在考虑创建一个列表列表来保存一对值。 还有更简单的解决方案吗?

编辑:我正在寻找的是一种解决此问题的方法。 不必专门通过列表来完成。 这不是超出范围的通用列表问题。 我确实知道出了什么问题,我只需要另一种方法即可。

input()返回类似"1 3"的字符串。 用类似a, b = map(int, input().split())解析该字符串。 使用list.append()保存输出。

from pprint import pprint

inputs = []
results = []
sets = int(input("Enter number of sets: "))
for n in range(sets):
    s = input()
    a, b = map(int, s.split())
    result = a + b
    inputs.append([a, b])
    results.append(result)
pprint(inputs)
pprint(results)

一个示例会话如下所示:

Enter number of sets: 3
1 3
2 4
5 6
[[1, 3], [2, 4], [5, 6]]
[4, 6, 11]

学习重点是:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM