2017-09-06 7 views
-1

私は数日前にPythonを始めた初心者です。 私は勉強してFactorialを取得するコードを書いています。負の数値が入力された場合(のbreakステートメントを除く)、プログラムを終了するコードを記述したいが、以下のコードは数時間進んでいない。あなたが私を助けることを願っています! このコードは動作しますが、私は満足したい条件がブレークを使用することではなく、負の数がwhileループファシリティ未使用ブレーク

コード>>たぶん

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

入力した場合、プログラムを終了するには:

ファイル「パイソン」で、 ファイル「パイソン」、8行目、:
num = <any positive number> 
while num >= 0: 
    ... 
+0

ましエラートレースバック(最後の最新の呼び出し)をチェックする必要があります階乗 での階乗 ファイル「パイソン」の階乗 ファイル「パイソン」の5行目、5行目、5行目、階乗 RecursionErrorに ファイル「パイソン」、3行目、[前の行は992回以上繰り返し]:比較の最大再帰深度を超えました –

+0

これは、おそらくn = 0の場合、あなたの 'factorial'関数の問題です。 – Don

+0

ありがとう!ところで、私はcontinue文を残してもいいですか? –

関連する問題