2016-04-24 43 views
0

これは再帰関数と呼ぶことができますか?これは、1つの方法ではなくに減らすん(量 - 1)の方法のタイプ...戻り値なしの再帰関数 - Python 2.7

EDIT: またそれがどのようにリターンを使用せずに再帰関数を記述することは可能でしょうか?

def wow(amount): 
    if amount <= 0: 
     print "Don't be so negative!" 
    elif amount == 1: 
    return "Wow!" 
    else: 
     return amount * "Wow! \n" 



amount = int(raw_input("How many 'Wow!' do you wanna see : ")) 
print wow(amount) 

答えて

0

いいえ、これは再帰関数ではありません。再帰関数はそれ自身を呼び出さなければなりません。 This pageは、再帰関数の例を説明しています。

これは再帰関数です。

def wow(amount): 
    if amount <= 0: 
     return 
    else: 
     print("Wow! \n") 
     return wow(amount - 1) 

あなたのコードを再帰関数に変える本格的な解決策があります。

def wow(amount): 
    if amount <= 0: 
     return "Don't be so negative!" 
    elif amount == 1: 
     return "Wow!" 
    else: 
     return inner_wow("", amount) 

    def inner_wow(wow_str, amount): 
     if amount == 0: 
      return 
     else: 
      wow_str += "Wow! \n" 
      return wow(wow_str, amount - 1) 

2番目の質問に答えてください。すべての関数は何かを返す必要があります。あなたが何かを返すように言わなくても、彼らはまだ何も返しません。