バグを見つけるためのPythonコード(6)
前の期間のコード設計要件:
ボールは100メートルの高さから自由に落下し、地面に当たるたびに元の高さの半分に跳ね返ります。再び落下した場合、10回目の地面に当たったときに何メートル通過しますか。 10回目のリバウンドはどのくらいですか?
コードは次のように表示されます:
バグを見つけるためにコードを注意深く読んでください!
正解: 2つのバグがあります。 (回答時間については、正解の数を確認してください)
(1)これは、forループの数を決定するrange()メソッドのパラメーターです。ここでの開始数は1なので、t = 10でバウンスの数が10の場合、forループの数は10にする必要がありますか?では、範囲の2番目のパラメーターは何でしょうか? 11でしょ?したがって、ここでは、tはt +1である必要があります。はは、まだ何人かの生徒の記憶をチェックしていますか? !
(2)h / = 2、この位置は少し奇妙ですか? Pythonは厳密にインデントされていますが、ここではインデントは本当に正しいのでしょうか。これが正しければ、それはどういう意味ですか?最初のバウンスの高さが一定であることを意味しますか?ハハ、2番目のボールは異常です、それはAIボールですか?そうでない場合は、各バウンス(センテンスループ)の高さが半分になるように、インデントを1レベル前方に移動する必要があります。
したがって、正しいコードは次のようになります。
まあ、これはもっと「純粋」に見えます!
**コメント:**昨日のバグを見つける主な目的:
(1)range()パラメーターの理解をもう一度統合します。
(2)インデントされた文法を正しく理解して使用する
ちなみに、昨日はpythonのコード遺伝子についても興味深い質問がありましたが、リストリストなどのシーケンスタイプのデータ構造を使用したいようです。ここでは、より伝統的な(他の言語)別のソリューションのコードをリストします。誰もが理解し、2つのスタイルの違いを味わい、遺伝子の影響が非常に強いかどうかを確認しますか?
上記のコードを読むのが難しい学生は、Gaodu Expressの外部に送信された「IntroductiontoPython」、またはGaoduWebサイトの「IntroductiontoPythonEasy」のビデオコースを読んで学習してください。
今日の質問は以下に発表されています。
この問題のコード設計要件:
猿が桃を食べることの問題点:猿は初日にいくつかの桃を摘み取り、すぐに半分を食べましたが、それだけでは不十分で、もう1つ食べました。翌朝、残りの半分を食べ、もう1つ食べました。その後、毎朝前日の半分と残り半分を食べました。 10日目の朝にまた食べたいと思ったら、桃が1つしか残っていないのがわかりました。初日に何人が選ばれましたか?
**需要分析:**この種の問題を解決するために、実際には明らかな入り口があります。つまり、結果はわかっています。最後(10日目)には、桃が1つだけ残っています。そのため、後ろから前に向かって推論する逆思考の方法を採用します。
コードは次のように表示されます:
**ブラザー、すべてに注意を払っているあなたは、バグがどこにあるかわかりますか? ****
それを見つけて、メッセージに投稿して、明日答えを出してください。
バグが見つからない場合は、Gaodu番号以外で以前に公開された「Introductionto Python」、およびGaoduWebサイトの「EasyIntroductiontoPython」と「PythonWebDevelopment」のビデオコースを確認することをお勧めします。
https://www.igaodu.cn(Gaoduを愛し、プログラミングを学び、段階的に教えてください!)
注意、フォーマット文法の詳細には特に注意してください。
**正解は明日発表されます。 ****
注意:従来、すべてのコードはPythpn3に基づいています。
Recommended Posts