2014-06-05 189 views
-3

我知道这是一个愚蠢的问题,但我不知道如何搜索它。将字符串传递给函数

我想将一个参数提供给一个函数来有条件地运行代码。

在下面的例子中,如果我在函数调用中指定单词single,我希望它在顶部运行代码行并返回字符串“This”。如果我指定任何其他单词,我希望它运行第二行代码并返回“That”。

例子:

def condfunc(myvar): 
    if myvar == single: 
     something = "This" 
    else: 
     something = "That" 
    return something 

mysomething = condfunc(single) 

我不断收到:

NameError: name 'single' is not defined 
+0

你想测试对字符串'“单个”'? –

+0

在这里很难说出你想要做什么。你能发表一个真实的例子吗? – tzaman

+0

除了与“this”,“that”和“something”字段中的宏变量存在无关的代码外,这是确切的示例。 Single不包含任何内容,我只是想用它来选择要执行的代码集合。所以如果这个参数是=“single”,那它比第一件事情要好。如果参数是“双倍”,则它做另一件事。 – user3705236

回答

1

我想你想测试这两个字符串参数myvar是吗?在这种情况下,代码应该是这样的:

def condfunc(myvar): 
    if myvar == "single": 
     something = "This" 
    else: 
     something = "That" 
    return something 

这可以简化为:

def condfunc(myvar): 
    return "This" if myvar == "single" else "That" 

,你会调用它,如:

test = "single" 
mysomething = condfunc(test) 
+0

谢谢。我还必须在通话中加入单引号。我知道答案会很简单。转向新的语言可能会很艰难:) – user3705236