def gond7(n):
"""
The parameter n is an int and n > 0.
The function gond7() should return the biggest eleventh power that is
smaller than n.
Example:
gond7(1000000) should return 177147 as 3 ** 11 == 177147 (and is smaller
than n) and the next 11th power, 4 ** 11 == 4194304, is not smaller
than n.
"""
x = 0
amount = x ** 11
while amount <= n:
x += 1
amount = x ** 11
return amount
print gond7(1000000)
これは適切な方法では動作しません。だから私はそれを動作させるためにこの関数を作ったが、何かを出力する前にwhileステートメントを実行する必要があるので、正しい値を表示しない。xより小さい最大のパワーで動作するwhile文を取得するにはどうすればよいですか?
私は間違っていますか?私は印刷しています:
4194304
私は177147
をしたいしながら。
どうすればいいですか?私は何が欠けていますか?
を(X - 1)** 11 '? – DeepSpace
しかし、その@DeepSpaceには良い方法はありませんか?それは、私がすでにwhileステートメントがさらに進んでいくことをすでに知っていることを示唆していませんか? – Siyah
投稿された回答が示唆するように、次の条件を計算するように条件を変更します。 – DeepSpace