因此我们允许用户输入他们想要输入的数字集。每组输入将包含由空格分隔的两个整数。然后,回车表示下一组输入。例如,
MediaPlayer
接下来我们在变量a,b中输入这些,执行相同的操作,显示3个结果:
Enter number of sets: 3
1 3
2 4
5 6
首先应该输入所有输入,然后显示所有相应的输出。 我们有处理1组输入的逻辑,但我们如何循环它以便我们可以接受这种格式的输入?
4
3
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]
学习要点是:
"1 3"
之类的字符串转换为['1', '3']
['1', '3']
转换为[1, 3]