2014-06-20 146 views
-4

在我的python程序中,函數內部有函數,我注意到前一個函數結束和第一個函數開始之間的行數有所不同。使用return()函數並沒有換行

輸出:

end of previous function 


start of first function 

然而,當不使用迴流()語句,「無」被印刷在函數的末尾。

有什麼辦法讓程序只在函數結束後打印出一行,還是這是python不可避免的部分?

(可能與this,但你不能用這個回報,我不認爲)

示例代碼:

def function1(): 
    ...stuff 

def function2(): 
    function1() 
    ....morestuff 

while True: 
    function2() 

這將返回2號線「無」。如果返回(「」)被添加到每個函數的末尾,則只有空白,新行也是如此。有一種方法可以有一定數量的線條,或完全擺脫它們嗎?

實際代碼示例:

def stop(): 
    print("stop") 

def login(): 
    print("login") 

def list(): 
    print("list") 

def runscript(): 
    answer=raw_input("input") 
    if answer == "stop": 
     print(stop()) 
    elif answer == "login": 
     print(login()) 
    elif answer == "list": 
     print(list()) 

while True: 
    print(runscript()) 

這將返回 「無」 以及所指定的輸出。如果返回(「」)被添加到每個函數的末尾,它仍然輸出不同的行

+1

'回報()'是**不是一個函數**。這是一個聲明。 –

+0

什麼?您需要顯示更多信息。只有在您實際打印該功能的結果時纔會打印「無」。如果您不想打印任何內容,請不要打印! –

+0

你的問題不清楚,考慮提供一個簡短的代碼示例 – alfasin

回答

1

由於在runcript中的打印語句,您正在獲得None。刪除:

def runscript(): 
    answer=raw_input("input") 
    if answer == "stop": 
     stop() 
    elif answer == "login": 
     login() 
    elif answer == "list": 
     list() 

順便說一句,你可能想輸入後添加一個空格:raw_input("input ")