如何在Python 3中采用space和回车return分隔的多组输入?
How to take multiple sets of inputs separated by space and carriage return in Python 3?
所以我们允许用户输入他们想要输入的数字集。每组输入将包含两个由 space 分隔的整数。然后,回车 return 表示下一组输入。例如,
Enter number of sets: 3
1 3
2 4
5 6
接下来我们将这些输入到变量a,b中,进行同样的操作,显示3个结果:
4
3
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]
学习点为:
- 使用str.split()将
"1 3"
这样的字符串转换成['1', '3']
这样的列表
- 使用map() with int()将
['1', '3']
转换为[1, 3]
- 使用variable unpacking提取两个值
- 使用append()增加输入和结果列表
所以我们允许用户输入他们想要输入的数字集。每组输入将包含两个由 space 分隔的整数。然后,回车 return 表示下一组输入。例如,
Enter number of sets: 3
1 3
2 4
5 6
接下来我们将这些输入到变量a,b中,进行同样的操作,显示3个结果:
4
3
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]
学习点为:
- 使用str.split()将
"1 3"
这样的字符串转换成['1', '3']
这样的列表
- 使用map() with int()将
['1', '3']
转换为[1, 3]
- 使用variable unpacking提取两个值
- 使用append()增加输入和结果列表