如何让用户在Python中输入任意数量的输入值?
例如,如果你想接受2个输入值,它可能是这样的如何让用户在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个值相加)或更多 您可以设置参数有多少个值,然后循环输
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)
执行逻辑。对于初学者,请缩进代码。