python调用函数,在字典中使用参数作为用户输入?

python调用函数,在字典中使用参数作为用户输入?,python,function,dictionary,arguments,Python,Function,Dictionary,Arguments,我有一本字典 d={} 用户输入 no=raw_input("Enter number: ") x=raw_input("Enter string: ") y=raw_input("Enter string: ") z=raw_input("Enter string: ") d[no]=send(x,y,z) def send(x,y,z): print x,y,z 这可能吗 我试过了,但当我打印字典时,它会输出 {1: None} 我想要这样的输出 d{ 1:s

我有一本字典

d={}
用户输入

no=raw_input("Enter number: ")
x=raw_input("Enter string: ")
y=raw_input("Enter string: ")
z=raw_input("Enter string: ")



d[no]=send(x,y,z)

def send(x,y,z):
    print x,y,z
这可能吗

我试过了,但当我打印字典时,它会输出

{1: None}
我想要这样的输出

 d{
    1:send(x,y,z),
    2:send(x,y,z),
    3:send(x,y,z)
  }

其中x、y、z是用户输入。

您的
发送功能没有意义。您只需执行以下操作:

d[no] = (x,y,z)
如果要分配并打印到console,我想您可以:

d[no] = send(x,y,z)

def send(x,y,z):
    print x,y,z
    return x,y,z

但这很奇怪。

只返回值,而不是打印它

def send(x, y, z):
    return x, y, z

使用
返回
而不是
打印

def send(x,y,z):
    return x, y, z
您将获得:

d = {
    1: (x, y, z)
    2: (x, y, z)
    3: (x, y, z)
}
如果您确实想在字典中看到
“send(x,y,z)”
,请使用:

def send(x,y,z):
    return "send({0}, {1}, {2})".format(x, y, z)

在这种情况下,
send()
需要返回什么?您想用
send
存储什么:函数、元组、其他内容?您的函数不返回任何内容,这意味着返回默认值,
None