2017-02-14 4 views
1

nからカウントダウンして1になるcountdownという関数を作成するにはどうすればよいですか?あなたがlistを返すようにしたいので、関数は、関数でそのリストを作成する必要があり、nから1までの整数のリストを返す関数を作成するにはどうすればよいですか?

def countdown(n): 
    if n >= 1: 
     countdown(n-1) 
    print(n) 
+1

カウントダウンを降順にするには、 – FreedomPride

+4

こんにちは、交換を積み重ねてください。私はあなたにいくつかのトラブルを保存させて、私の過ちから学びましょう。 1.)あなたのタイトルを明示します。 「私は何が欠けているのか」は、私たちに何も言いません。 「カウントダウン機能の書き方」を試してみてください。 2)あなたがすでに試したこととその結果が何であるかを人に伝えます。そうすれば、他人にあなたのコードを書くように頼んだら告発されることはありません。ここでこのコードを実行するとどうなりますか? 3.)あなたの質問をよりわかりやすくする方法については、私の書式変更を参照してください。 – Aerovistae

+2

'countdown(n-1)'の前に 'if'の中に' print(n) '行を移動します。 – alfasin

答えて

2

に1ダウンの内容はnから行くの整数にする必要があり、list返す必要があります。

def countdown(n): 
    return list(range(n, 0, -1)) 

の-1毎回ステップと、(非包括的、それが1で停止されますことを意味する)は、nから0へのあなたのシーケンスを作成します。

listこのシーケンスは、返されるリストに変換されます。

これは、実際にカウントダウンリストに特定の関数を作成する必要はないということも意味します。 list(range(n, 0, -1))に直接電話することができます。再帰を使用して

0

:ベースが到達すると

def countdown(n): 
    if n < 1: 
     return [] 
    return [n] + countdown(n-1) 

このアプローチは、「基本ケース」と整数のリストの作成を提供します。

実行を視覚化するためにthis linkをチェックしてください。ご質問がある場合はお知らせください。

関連する問題