如何让用户在Python中输入任意数量的输入值?

如何让用户在Python中输入任意数量的输入值?,python,python-3.x,Python,Python 3.x,例如,如果你想接受2个输入值,它可能是这样的 x = 0 y = 0 line = input() x, y = line.split(" ") x = int(x) y = int(y) print(x+y) 然而,这样做意味着我必须在任何时候都有2个输入,用一个空格隔开 我如何设置它,以便用户可以选择输入任意数量的输入,例如无输入(例如,导致某些消息,请他们重试),或输入1个输入值并对其执行操作(例如,仅打印),或输入2个(例如,将2个值相加)或更多 您可以设置参数有多少个值,然后循环输

例如,如果你想接受2个输入值,它可能是这样的

x = 0
y = 0
line = input()
x, y = line.split(" ")
x = int(x)
y = int(y)
print(x+y) 
然而,这样做意味着我必须在任何时候都有2个输入,用一个空格隔开


我如何设置它,以便用户可以选择输入任意数量的输入,例如无输入(例如,导致某些消息,请他们重试),或输入1个输入值并对其执行操作(例如,仅打印),或输入2个(例如,将2个值相加)或更多

您可以设置参数有多少个值,然后循环输入并将它们放入一个映射-或者您可以将其简化为2行:

numbers = input("Input values (space separator): ")
xValueMap = list(map(int, numbers.split()))

这将创建一个用空格分隔的INT值映射。

您可能希望使用
for
循环反复从用户处获取输入,如下所示:

num_times = int(input("How many numbers do you want to enter? "))
numbers = list() #Store all the numbers (just in case you want to use them later)
for i in range(num_times):
  temp_num = int(input("Enter number " + str(i) + ": "))
  numbers.append(temp_num)
然后,稍后,您可以使用
if/elif/else
链根据列表的长度(使用
len()
函数找到)对数字执行不同的操作

例如:

if len(numbers) == 0:
  print("Try again") #Or whatever you want
elif len(numbers) == 1:
  print(numbers[0])
else:
  print(sum(numbers))

试试这样的。您将提供您想让用户输入这些数字的数量

def get_input_count():
  count_of_inputs = input("What is the number you want to count? ")
  if int(count_of_inputs.strip()) == 0:
      print('You cannot have 0 as input. Please provide a non zero input.')
      get_input_count()
  else:
      get_input_and_count(int(count_of_inputs.strip()))

def get_input_and_count(count):
  total_sum = 0
  for i in range(1,count+1):
      input_number = input("Enter number - %s :"%i)
      total_sum += int(input_number.strip())

  print('Final Sum is : %s'%total_sum)

get_input_count()

values=line.split(“”
),然后根据
len(values)
执行逻辑。对于初学者,请缩进代码。