[ad_1]
i = int(input()) j = 5 # fix the code (1) while (j <= (i/j)): if not(i%j): print("not a prime") continue # fix the code (2) j = j + 2 # fix the code (3) if (j > i/j): print ("prime")
私が試したこと:
この問題を解決するのを手伝ってください
解決策 2
私たちは立ち往生している人々を喜んで助けますが、それは私たちがあなたのためにすべてをするためにここにいるという意味ではありません! 私たちがすべての作業を行うことはできません。あなたはこれに対して報酬を受け取っているか、またはそれはあなたの成績の一部であり、私たちがあなたのためにすべてを行うことはまったく公平ではありません.
だから私たちはあなたが仕事をする必要があり、あなたが行き詰まったときにあなたを助けます. それは、あなたが提出できる段階的な解決策を提供するという意味ではありません!
現在の状況と、プロセスの次のステップを説明することから始めます。 次に、その次のステップを機能させるために何を試みたか、またその際に何が起こったかを教えてください。
そして、そのコードは「素性」とは何の関係もありません!
数が素数になる理由を考えてみてください。それはそれ自体と 1 で割り切れますが、それ以外の数は割り切れませんか? したがって、X が 2 と X / 2 の間の任意の数で割り切れる場合、それは素数ではありません。これは、コードが探しているものではありません。 その多くを捨てて、最初からやり直すことをお勧めします。 修正するよりも簡単です。
開始するのに問題がある場合は、これが役立つ場合があります。 問題を解決するためのコードの書き方、初心者向けガイド[^]
解決策 3
引用:この Python エラー コードの問題を解決する方法
このコードの問題点を説明するのを忘れていました。
まず、この Python コードは設計どおりの動作をしています。
私の理解では、整数が素数かどうかを調べようとします。 問題は、その目的のためにいくつかの新しい数学を発明したばかりであることです。この新しい数学は正しくないため、コードの結果も正しくありません。
問題は、より古典的な方法でコードを書き直す必要があることです。
このコードが何をしているかを理解するには、デバッガを使用してください。
コードが期待どおりに動作しないか、理由がわかりません。
ほぼ普遍的な解決策があります。コードをデバッガーで段階的に実行し、変数を調べます。
デバッガーは、コードが何を行っているかを示すためにここにあり、あなたのタスクはコードが何をすべきかを比較することです。
デバッガーには魔法はありません。コードが何をすべきかはわかりません。バグを見つけることはありません。何が起こっているのかを示すことで、バグを見つけるのに役立ちます。 コードが期待どおりに動作しない場合は、バグに近づいています。
コードの動作を確認するには: ブレークポイントを設定してコードの実行を確認するだけです。デバッガーを使用すると、行を 1 行ずつ実行し、実行時に変数を調べることができます。
Visual Studio 2010 でのデバッグの習得 – 初心者向けガイド[^]
Visual Studio 2010 を使用した基本的なデバッグ – YouTube[^]
27.3. pdb — Python デバッガ — Python 3.6.1 ドキュメント[^]
Python でのデバッグ | Python が宇宙を征服[^]
pdb – 対話型デバッガー – 今週の Python モジュール[^]
デバッガーは、コードが何を行っているかを表示するためだけに存在し、あなたのタスクはコードが何をすべきかを比較することです。
解決策 5
i = int(入力())
j = 5
while (j <= (i/j)):
そうでない場合 (i/j):
print(“素数ではありません”)
続く
d = d + 2
(j > i/j) の場合:
印刷 (「プライム」)
解決策 4
i = int(input()) j = 2 while (j <= (i/j)): if not(i%j): print("not a prime") break j = j + 1 if (j > i/j): print ("prime")
[ad_2]
コメント