2017-04-06 105 views
0

好的,我是编程新手,我正在为我的计算机科学类中的项目制作python文本游戏。我需要在另一个函数中调用一个函数。我遇到的唯一问题是,内部函数必须是内第一个参数,这样我可以改变什么功能是called.Here是代码块是罪犯:Python功能评估问题

`def choosePath(a,b,c,d): 
    path = "" 
    path = input("Type "+a+" to "+a+" Type "+b+" to "+b+":") 
    if path == a: 
     c 
    elif path == b: 
     d 
    elif path != a and path != b: 
    choosePath(a,b,c,d)` 

我需要c和d是函数调用。我用print()语句尝试了这一点,但打印在其他任何事情之前运行。

+1

'c()'&'d()'...这是行不通的吗?按名称传递函数(不带圆括号)并用它们调用它。 – TemporalWolf

+1

你想用'c'和'd'来实现什么? –

+0

当您调用一个函数时,您需要使用@TemporalWolf所说的括号。你可以发布'c()'和'd()'的代码吗? –

回答

0

函数调用后忘了括号。

def c(): 
    print('Calling function `c`') 


def d(): 
    print('Calling function `d`') 


def choosePath(a,b,c,d): 
    path = "" 
    path = input("Type "+a+" to "+a+" Type "+b+" to "+b+":") 
    if path == a: 
     c() 
    elif path == b: 
     d() 
    elif path != a and path != b: 
     choosePath(a,b,c,d) 
+1

谢谢。这解决了我的问题,它的工作完全像我认为应该在添加括号.TY来帮助。 – tcagle2077