在算法设计中,经常需要输入 n 个用空格分隔的整数。现对其 Python 代码进行总结:
● 当 n=1 时:
x=int(input())
print(x)
● 当 n=2 时:
x,y=map(int,input().split()) #Enter numbers separated by space
sum=x+y
print(sum)
'''
in:
1 2
out:
3
'''
● 当 n=3 时:
x,y,z=map(int,input().split()) #Enter numbers separated by space
sum=x+y+z
print(sum)
'''
in:
1 2 3
out:
6
'''
● 当 n>3 时:
代码一:不需预先输入 n 的值
(1)使用 list 与 map:list(map(int,input().split()))
ls=list(map(int,input().split()))
sum=0
for x in ls:
sum+=x
print(sum)
'''
in:5 3 1 2 7
out:18
'''
(2)使用 input().split()
ls=input().split()
sum=0
for x in ls:
sum+=int(x)
print(sum)
'''
in:5 3 1 2 7
out:18
'''
注意:命令 input().split() 的功能是将空格分隔的若干输入生成一个列表(list)。如下所示:
>>> ls=input().split()
5 6 8 9
>>> type(ls)
<class 'list'>
>>> ls
['5', '6', '8', '9']
>>>
代码二:需预先输入 n 的值
(1)使用 list 与 map:list(map(int,input().split()))
n=eval(input())
ls=list(map(int,input().split()))
sum=0
for x in ls:
sum+=x
print(sum)
'''
in:
5
5 3 1 2 9
out:
20
'''
(2)使用 input().split()
n=int(input())
ls=[int(x) for x in input().split()]
print(sum(ls))
'''
in:
5
5 3 6 7 8
out:
29
'''
● 输入二维的用空格分隔的数据:list(map(int,input().split()))
m,n=map(int,input().split())
ls=[]
for i in range(m):
ls.append(list(map(int,input().split())))
print(ls)
'''
in:
3 5
1 2 3 4 5
5 4 3 2 1
6 7 8 9 0
out:
[[1, 2, 3, 4, 5], [5, 4, 3, 2, 1], [6, 7, 8, 9, 0]]
'''
【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/142204614
https://www.cnblogs.com/A180/p/15709850.html