如何在python中获取特定数量的输入。比如说,如果我只想在列表中插入5个元素,那么我该怎么做呢? 我试图这样做,但无法弄清楚如何。
在第一行中,我想取一个整数,该整数将是列表的大小。 第二行将包含由以下空格分隔的5个元素:
5
1 2 3 4 5
提前致谢。
答案 0 :(得分:0)
count = int(raw_input("Number of elements:"))
data = raw_input("Data: ")
result = data.split(sep=" ", maxsplit=count)
if len(result) < count:
print("Too few elements")
您还可以在try / except中包装int(input("Number of elements:"))
以确保第一个输入实际上是int。
P.S。 here是有用的q / a如何循环直到正确的输入。
答案 1 :(得分:0)
输入: -
5
1 2 3 4 5
然后,使用以下代码:
n = int(input()) # Number of elements
List = list ( map ( int, input().split(" ") ) )
将空格分隔输入作为整数列表。这里不需要元素数量。 您可以通过 len(列表)获取列表的大小。 此处列表是用于生成列表的关键字。
或者您可以使用替代方案:
n = int(input()) # Number of elements
List = [ int(elem) for elem in input().split(" ") ]
如果您想将其作为字符串列表,请使用:
List = list( input().split(" ") )
或
s = input() # default input is string by using input() function in python 2.7+
List = list( s.split(" ") )
或者
List = [ elem for elem in input().split(" ") ]
使用循环接收新行中的输入时,必须计算元素数量,然后
Let the Input be like :
5
1
2
3
4
5
修改后的代码为: -
n = int(input())
List = [ ] #declare an Empty list
for i in range(n):
elem = int(input())
List.append ( elem )
对于早期版本的python,使用raw_input()而不是input(),它接收默认输入为String。