2017-04-06 102 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