私はネストしたタプルとフラットリストを生成する問題に対処しようとしていました。私はこの関数(n_iter)によって実行される最大反復回数を取得したかったのです。私は一見、 "and"演算子を利用して問題を解決しましたが、 "、"私の呼び出しの間には、最初の関数に戻ります。さらに、これは著しく速く機能しています。誰でもこの論理が働いた理由を知っていますか? "and"が現れる評価と関係がありますか?これは宿題のためのものだが、私はそれに答えているようだ。Pythonの再帰的な "and"機能ですか?
#n_iter should start as zero
def break_it_down(n, n_iter):
if n > 2:
division, subtraction = n/2.0, n-1.0
n_iter +=1
return break_it_down(division,n_iter) and break_it_down(subtraction, n_iter)
return n_iter
質問が不明です!あなたは何をしようとしていますか?私はあなたの関数に渡す価値が何であれ、その値から2を引いてあなたのコードで達成したいものを返します。あなたとその出力を簡単に説明してください。 –
'と'は何をしていると思いますか?それは間違っています。 – user2357112
私のコードは、2人のプレイヤーが2で割り、1を引くことができるゲームでプレイヤーが利用できる最大のプレイ数を決定することを意図しています。そして、ネストされたタプルから "最大"値を返しています。 – CalTex