2017-09-06 224 views
-1

我是一個初學者,他在幾天前就開始使用Python。 我正在編寫一個代碼來研究並獲取一個因子。我想寫一個代碼來輸入負數時終止程序(沒有中斷語句),但下面的代碼沒有進行幾個小時。我希望你可以幫助我! 此代碼的工作,但我要滿足的條件是不使用破發,但退出程序,如果輸入負數,while循環階乘不使用break

代碼>>

def factorial(n): 
    if n == 1: 
     return 1 
    return n * factorial(n - 1) 

while True: 
    num = int(input("Enter a number: ")) 
    if num < 0: 
     continue 
    print(str(num) + "! =", factorial(num)) 
+0

您也應該檢查「0」 – Don

回答

0

可能:

num = <any positive number> 
while num >= 0: 
    ... 
+0

遇到錯誤回溯(最近通話最後一個): 文件「蟒蛇」,8號線,在 文件「蟒蛇」,線5,在階乘 文件「蟒」,第5行,在階乘 文件「蟒」,第5行,在階乘 [上線重複992次以上] 文件「蟒」,第3行,在階乘 RecursionError:最大遞歸深度比較 –

+0

這是一個關於'factorial'函數的問題,大概在n = 0時 – Don

+0

謝謝!順便說一句,我可以離開繼續說明嗎? –