Python - 方法作为参数的问题?

时间:2016-07-17 21:17:38

标签: python methods syntax parameters

我正在用Python制作一个“选择你的冒险”游戏。正如您将在下面的代码中看到的,我有一个临时名为unnamedMethod的方法,它有三个参数:一个方法,m;一个字符串,ans1;和另一个字符串,ans2。

此方法应该处理从m派生的用户输入,并检查它是否等于两个单词之一。如果它不等于任何一个单词,那么它应该打印一个简单的错误消息(“请提交一个有效的响应。”)并再次调用方法m。但是,我使用当前代码收到错误消息“str is not callable”。

到目前为止,这是我的项目:

foreach($List as $key => $value) {
    echo $key.' '.$value['SeqID'].'<br />';
}

如果我的代码运行正常,它将遍历intro(),直到用户输入“property”或“forest”,然后它将打印相应的单词。如果有人能帮助我找到我的代码问题,我将不胜感激。

2 个答案:

答案 0 :(得分:4)

g.intro()返回一个字符串,所以你需要做的只是将方法的返回值赋给m ans

ans = m

如果您希望将m视为可调用,请考虑改为传递g.intro

g.unnamedMethod(g.intro, "property", "forest")
...
ans = m()

答案 1 :(得分:0)

您正在使用ans = m(),尝试将字符串m作为函数调用,当我认为您的意思是将ans的值设置为m的值时,可以使用代码ans = m来完成。< / p>