2014-10-27 38 views
-2

我有這樣的代碼:的Python:使用控制,如果

def the_flying_circus(): 
    if True and True and True and not False: 
     print "Kevin stinkt" 
    elif 10 < 4: 
     print "Justin stinkt" 
    else: 
     print "herb-wuerzig" 

當我print the_flying_circus我得到Kevin stinkt印刷,None作爲回報。我需要False作爲在線教程的回報。我爲什麼得到None,以及如何獲得True

+3

* 「我知道凱文stinkt當一回」 * - ** **不正確。函數*打印*''凱文stinkt''和*返回*'None'。見例如http://stackoverflow.com/q/7664779/3001761。 – jonrsharpe 2014-10-27 22:39:49

回答

2

None是函數的返回值。沒有明確的return語句結束的函數將返回None

在回答你的另一個問題:

如果你希望函數返回true,把

return True 

末。如果你想讓它返回false,就把

return False 

在最後。

+0

好吧,我看到了不同。我如何獲得函數返回true(false)? – bngschmnd 2014-10-27 22:41:50

+0

@bngschmnd:完全像它的聲音:'返回True'。 – abarnert 2014-10-27 22:42:07

+1

@bngschmnd:但是你爲什麼要返回True呢?你將如何處理這個價值?這就意味着當你在解釋器中鍵入'the_flying_circus()'時,你的函數將打印出'Kevin stinkt',然後解釋器將在其下打印出'True'。 – abarnert 2014-10-27 22:43:44

1

如果函數沒有返回任何東西,函數會返回None,因此您首先在函數內部打印,然後打印返回的None

如果您要將您的print對帳單與return對帳,或者只需撥打the_flying_circus()而不是print the_flying_circus()即可獲得預期結果。

def the_flying_circus(): 
    if True and True and True and not False: 
     return "Kevin stinkt" 
    elif 10 < 4: 
     return "Justin stinkt" 
    else: 
     return "herb-wuerzig" 

然後你可以運行的功能,並打印返回值:

print the_flying_circus() 

或者,你可以這樣做:

def the_flying_circus(): 
    if True and True and True and not False: 
     print "Kevin stinkt" 
    elif 10 < 4: 
     print "Justin stinkt" 
    else: 
     print "herb-wuerzig" 

並調用功能,無需打印返回值:

+0

試圖'了#make確保the_flying_circus()返回true 高清the_flying_circus(): 如果真和真時真不虛: 返回true ELIF 5 <10: 還真 其他: 回報TRUE'和'#確保the_flying_circus()返回true 高清the_flying_circus(): 如果真和真時真不虛: 還真 elif 5 <10: return true else: return false' - 似乎沒有工作所有? – bngschmnd 2014-10-27 22:51:48

+0

如果沒有縮進來閱讀是非常困難的,但至少需要使用大寫首字母的「True」和「False」。 – Enfenion 2014-10-27 22:57:19

0

T需要他的代碼如下:

# Make sure that the_flying_circus() returns True def the_flying_circus(antwort): if antwort > 5:
print "H" elif antwort < 5: print "A" else: print "I" return True

我給什麼都輸入,the_flying_circus總是返回True