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

  • 本文关键字:默认值 一行 python input
  • 更新时间 :
  • 英文 :


我想将在一行中输入多个变量的能力与在没有给定值的情况下关联默认值的能力结合起来。在一行中输入多个变量的一种方法是test1, test2, test3 = input().split(),如果没有给定变量,则为变量分配默认值的一种方式是test1 = input() or 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将是一个将第三个变量作为一项的列表,如果只有两个变量,则为空列表。

最新更新