如何通过输入定义函数中的变量?
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做点什么我担心你需要进一步解释你的想法。
以上是关于如何通过输入定义函数中的变量?的主要内容,如果未能解决你的问题,请参考以下文章