如何在Python 3中使用空格和回车分隔多组输入?

时间:2016-09-05 03:23:48

标签: python list user-input python-3.4

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

MediaPlayer

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

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

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

4
3
1  

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

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

1 个答案:

答案 0 :(得分:4)

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]

学习要点是: