バグを見つけるためのPythonコード(5)
前の期間のコード設計要件:
条件付き演算子のネストを使用して、この質問を完了します。学業成績が90ポイントを超える学生は、Aで表され、スコアが60〜89の学生はBで表され、スコアが60未満の学生はCで表されます。
コードは次のように表示されます:
バグを見つけるためにコードを注意深く読んでください!
**正解:**合計3つのバグがあります。 (回答時間については、正解の数を確認してください)
(1)input()メソッドの戻り値は文字列であり、計算に参加するには強制的な型変換が必要です。私がそれに遭遇したのはこれが初めてではありません、ハハ、それは誰かが記憶を持っているかどうかに依存します。
(2)grade = A / B / C、ここでA、B、およびCはすべて文字列であり、引用符で囲む必要があります。そうでなければ、彼らは今どのようになっていますか? ...は未定義の変数であり、別の変数に割り当てることはできません。
(3)もう1つの魔法のエラーがあります。そうです、それは多くの言語で書かれています、ここで...それは滑りやすいですか、ハハ!Pythonは非常に単純で、elifが必要です。
したがって、正しいコードは次のようになります。
まあ、これはもっと「純粋」に見えます!
**コメント:**昨日のバグを見つける主な目的:
(1)input()の戻り値の使用を全員に統合させます。
(2)文字列の標準的な使用に注意してください。
(3)条件付き判断文の標準的な使用に注意してください。
上記の知識のポイントを漠然と理解している学生は、Gaodu Expressの外部に送信された「IntroductiontoPython」、またはGaoduWebサイトのビデオコース「IntroductiontoPythonEasy」を読んで学習してください。
今日の質問は以下に発表されています。
この問題のコード設計要件:
ボールは100メートルの高さから自由に落下し、地面に当たるたびに元の高さの半分に跳ね返ります。再び落下した場合、10回目の地面に当たったときに何メートル通過しますか。 10回目のリバウンドはどのくらいですか?
需要分析:これは一般的な数学的問題です。プログラミングでそれを解決する方法をご覧ください。
コードは次のように表示されます:
気づいてますか?このコードはとても面白いです!
ループステートメントを使用する必要があります。累積合計法を使用すると、N回目の着陸時にボールが通過したメートル数を直接取得できます。累積半分(2で割った値)の計算でも、最終的なリバウンド高さを直接取得できます。
しかし、なぜ2つのリストを定義するのでしょうか。
最近、友人とPythonについて話をしましたが、この興味深い機能を見つけました。Pythonコードを書く友人の多くは、そのような習慣を持っています。繰り返しのシーケンスの動作をデータのリストに記録するのは当然です。どのアイテムが必要か、いつでも便利です。
通常の方法ではなく、ループを介して、コードは計算後に最終的な目的の結果を直接取得し、中間状態のデータを無視します。
これらは2つの異なる考え方の習慣だと思います。 Pythonの遺伝子と関係があるのでしょうか? !
さて、問題は、この美しいコードがまだ少し欠陥があるということです、**バグはどこにありますか? ****
それを見つけて、メッセージに投稿して、明日答えを出してください。
バグが見つからない場合は、Gaodu番号以外で以前に公開された「Introductionto Python」、およびGaoduWebサイトの「EasyIntroductiontoPython」と「PythonWebDevelopment」のビデオコースを確認することをお勧めします。
https://www.igaodu.cn(Gaoduを愛し、プログラミングを学び、段階的に教えてください!)
注意、フォーマット文法の詳細には特に注意してください。
**正解は明日発表されます。 ****
注意:従来、すべてのコードはPythpn3に基づいています。
Recommended Posts