如何通过输入定义函数中的变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过输入定义函数中的变量?相关的知识,希望对你有一定的参考价值。

如果有人可以帮我解决这个问题,我会很高兴,因为我有点被困在这里。我试图'触发'函数,通过名称调用它,然后通过写入数字来添加变量,这些数字由两者之间的空格分隔。

#I tried:
#(Input: Test1 4 5)
Input = input().split()

def Test1(X,Y = 3):
     print(X,Y)

dic = {'Test1':Test1}
dic[Input[0]](Input[1:len(Input)])
#But it wil give me: ['4', '5'] 3 instead of just 4 5

我想定义X和Y,而不仅仅是X,我刚刚做了什么。

我正在使用py3.0

我非常感谢每一个建议

答案

您可以使用*“扩展”/将参数列表应用于函数:

dic[Input[0]](*Input[1:len(Input)])

注意*Input[1:len(Input)]自己将输入列表作为x传递。 *将列表展开,因此它被视为多个参数。可以将其视为将数据列表展平为参数列表。

另一答案

您可以通过像这样执行join将列表转换为字符串:

Input = input().split()

def Test1(X,Y = 3):
     print(X,Y)

dic = {'Test1':Test1} dic[Input[0]](' '.join(Input[1:len(Input)]))

如果你感到困惑,为什么它之后仍然打印3,那么函数Test1接受两个变量,但你只传递一个变量,所以它打印另一个(Y),你设置一个默认值,如果你想用Y做点什么我担心你需要进一步解释你的想法。

以上是关于如何通过输入定义函数中的变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何将定义在函数外部、循环中的变量输入到函数中?

Android 上的 Kotlin:如何在片段中使用数据库中的 LiveData?

VSCode自定义代码片段——声明函数

如何创建片段以重复变量编号中的代码行

VSCode自定义代码片段8——声明函数

用户定义函数中的指针和输入