私は一般的にはPythonやコーディングには新規です。また、次のコードでループ中の質問が発生しました。Python while loop while breakはいつですか?
a = int(input('input a number here: '))
def largest_factor(x):
factor = x - 1
while factor > 0:
if x % factor == 0:
return factor
factor -= 1
print(factor)
largest_factor(a)
それは、私のpython 3.5を使用していて、私の理解では、ループが> 0になるまで中断されませんので、私はそれは、しかし試験に印刷(因子)を置きます(例えば、x = 100、factorが100から50まで停止して停止した場合など)最大の要因で停止し、0に達しませんでした。return文がwhileループを強制終了しましたか?あなたの時間をありがとう。
はいreturnが関数を終了するので、factor_firstを使って、print_first(a)のfに対して生成関数fを使って 'print(list(max_factor(a))) 'http://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do-in-python –
' return'文は 'while'ループに直接影響しません。むしろ、関数'max_factor(x) 'を終了します。 'largest_factor'を繰り返し呼び出してループが値を生成し続けることを目標とするならば、代わりに' yield'を使ってループを生かしておくことができます。 – Jeff
疑わしい質問です。多くの意味のある開発者の関心を引き付けるためには、あまりにも完全に精緻化されています。 – jgomo3