Python 同一行上有多个输入的输入的默认值

Python 同一行上有多个输入的输入的默认值,python,input,Python,Input,我想结合在一行上输入多个变量的能力,如果没有给定值,就有一个关联的默认值。在一行中输入多个变量的一种方法是test1、test2、test3=input().split(),如果没有给定变量,则为变量指定默认值的一种方法是test1=input()或1。对于我需要的变量,我需要有一个默认值的唯一变量总是最后一个,但是能够为任何变量这样做是很好的 我尝试的代码如下所示,但它不起作用 test1, test2, test3 = input('Enter 2 or 3 variables: ').sp

我想结合在一行上输入多个变量的能力,如果没有给定值,就有一个关联的默认值。在一行中输入多个变量的一种方法是
test1、test2、test3=input().split()
,如果没有给定变量,则为变量指定默认值的一种方法是
test1=input()或1
。对于我需要的变量,我需要有一个默认值的唯一变量总是最后一个,但是能够为任何变量这样做是很好的

我尝试的代码如下所示,但它不起作用

test1, test2, test3 = input('Enter 2 or 3 variables: ').split() or 1
print(test1)
print(test2)
print(test3)
当默认变量为“default”时,我希望代码在运行时是这样工作的

# when the user gives 2 variables
>> Enter 2 or 3 variables: variable1 variable2
variable1
variable2
default

# when the user gives 3 variables
>> Enter 2 or 3 variables: variable1 variable2 variable3
variable1
variable2
variable3

有人知道怎么做吗?使用我给出的与否,输入需要全部在一行上。我的另一个想法是使用
end=''
,但我想不出将其实际放入代码中的方法。

您可以将
*
test3
一起使用,然后对其进行一些处理

test1, test2, *test3 = input('Enter 2 or 3 variables: ').split()
test3 = test3[0] if test3 else 'default'
test3
将是一个列表,其中第三个变量作为一个项目,如果只有两个变量,则为空列表