Python(パイソン)入門4~ランダムなサイコロの目の予想、数値データのリストの処理(ChatGPT4oも使用)
書こう書こうと思いつつ、ずるずると引き延ばしてたプログラミング入門記事。半年ぶりくらいかと思ったら、既に1年ぶりになってて、オンライン環境のサイト「Bit Arrow」(ビットアロー)のサーバーの移行が進んでた。
面倒だから、古いサーバーのまま使おうとしたら、「移行をお願いいたします」と表示されたから、仕方なく新しいサーバーへ。
ところが、元のアカウント設定だとダメだったから、新たにアカウント登録し直して、ようやくスタート。ちなみに、元のメールアドレスはそのまま使えたから、パスワードを変更しただけ。
これが、東京マラソンのサイトだと、複雑骨折みたいな状況になってる。昔のアカウントはなぜか登録されてないことになってるのに、昔のメールアドレスは既に使われてるからもうダメとか表示されるのだ。心当たりは一応あるけど、とりあえず原因不明と書いとこう。
インスタグラムでも似たような事があった。これらもある意味、プログラミングの話だろう。言語がパイソンかどうかはともかく。
☆ ☆ ☆
では、高校の教科書と参考書(副教材)を使ったPython(パイソン)入門の記事の4本目を書くことにする。といっても、プログラミングの場合、記事を書く前の準備が大変だから、既にかなり疲れてしまった。
これまでの3本の記事は、以下の通り。ほとんど、現在の高校の必修科目「情報1」のカリキュラム通りになってる。2年半前から高校の必修。ただ、パイソンその他、特定の言語をどの程度習うのかは授業による。次の共通テストでどんな扱いの導入になるのか、全く未知数で不明。
Python(パイソン)入門1~人気プログラミング言語を高校教科書副教材(東京書籍)とオンライン環境Bit Arrowで簡単に
Python(パイソン)入門2~高校副教材とオンライン環境Bit Arrow、さらにAI(ChatGPT4)も使用
Python(パイソン)入門3~乱数を利用した、じゃんけんゲーム作成など(生成AI・ChatGPT4も使用)
☆ ☆ ☆
前回のじゃんけんで既に、乱数を導入してある。今回は、サイコロを振って目を当てる原始的ゲームのシミュレーション。実際のサイコロと比較するとどうなるのかは試してない。というより、手元にサイコロが無い。最後に使ったのは小学6年かも。
最初に「import random」と入力して、乱数を発生させる関数random.randintの準備。「deme」(出目)だと出目金みたいだから,私は「detame」(出た目)に変更。
input関数で入力させた予想数字を、int関数で数に直す。数字という「文字列」と「数」が違うというのが、どうもやりにくい。
とにかく、yosou(予想)を2と入力。出た目は5だから、ハズレ。当たりとハズレをはっきり表示させるなら、以下の通り。ちなみに、プログラムは基本的に,元のテキストと少し変えて作成。勉強のためでもあるし、好みの違いもある。
☆ ☆ ☆
続いて、連続3回の繰り返しの後、当たりが何回でハズレが何回かを表示するプログラム。当たる度に、変数のatariが0から一つずつ増えて行く。ハズレも同様。
上の場合、実行結果が8行で、つながったままだと読みにくい。1行空けはどうやるのか、ChatGPT4oに質問すると、print() と加えればいいとのこと。
ただ、なぜかこの入力は、その前後あたりがエラー扱いになってしまうことが多い。原因は不明で、どうやって直したのかも不明。一度、削除した後、前後も含めて入力し直すと直ることが多かった気がする。
☆ ☆ ☆
では、上のプログラムを、ChatGPT4oに書かせるとどうなるのか。やっぱり、遥かによく出来たプログラムを即答して来た。
「効率的に」と自分で書いてるけど、むしろ、より配慮されたプログラムと言うべきだろう。範囲外の数を入力した場合や、数以外を入力した場合の警告文まで入ってるし、所々に人間用の説明文が入ってるから、プログラムを見る人にとっては分かりやすい。
ただ、実はこれをそのままビットアローに入力すると、またエラーがあちこち出てしまった。原因が分かるかとAIにたずねると、たぶんバージョンの違いだろうと応答。古いバージョン用の書き方を教えてくれたから、それを使ってみると、確かに成功した。AIの実力、恐るべし。。
☆ ☆ ☆
乱数の単元は終了して、次は第3章・複数データの処理。普段はエクセルとか、表計算ソフト・アプリにやらせてる内容。
リストはlistではなく、ary。全国の高校教師の数%が、授業で「アリィ?」とか言って、生徒の冷たい視線を浴びてるはず♪ arrayという英単語を略した記号だろうと想像。リストの1番目を、ary[0]と書くのも分かりにくい。何番目かを表す「添え字」の番号は、2番目なら1、3番目なら2。一つずつ、ズレてるから間違えやすい。
5コの数のリストを定義(代入)して、それらを表示させるプログラムは、上の通り。実行結果は下の通り。「0番目」の数から並ぶことになる。
☆ ☆ ☆
続いて、リストをそのまま表示して、数字の足し算(和、sum)を表示させるプログラム。[ ]を用いたリスト自体の表示は分かりやすい。sum=0からスタートして、数を一つずつ足して行く操作を5回繰り返す。
そして最後は、リストの中で最大の数(max)を表示させるプログラム。最初は、0番目の数をmaxとして、もし、その後の数の方が大きかったら順に入れ替えて行く。もし、大きくなかったら、という場合の処理は省略されてる。
というわけで、この程度でも膨大な手間ヒマがかかってしまったから、今日はそろそろこの辺で。。☆彡
(計 2364字)
| 固定リンク | 0
「数学」カテゴリの記事
- Python(パイソン)入門4~ランダムなサイコロの目の予想、数値データのリストの処理(ChatGPT4oも使用)(2024.09.20)
- パズル「絵むすび」31、解き方とコツ、考え方(難易度4、ニコリ作、朝日新聞be、2024年9月14日)(2024.09.15)
- 四角形や丸の「真ん中」に正三角形を配置するデザイン(YouTubeほか)、長さ、重心、三角形分割錯視を考慮した視覚調整(2024.09.08)
- パズル「推理」、小学生向け8、カンタンな解き方、表の書き方(難易度3、ニコリ作、朝日be、24年8月31日)(2024.09.01)
- パズル「ナンスケ」解き方13、2024年7月13日の問題は間違い「ではありませんでした」(難易度4、ニコリ作、朝日新聞be)(2024.07.13)
「プログラミング」カテゴリの記事
- Python(パイソン)入門4~ランダムなサイコロの目の予想、数値データのリストの処理(ChatGPT4oも使用)(2024.09.20)
- ps5.js Web Editor(Processing)のプログラミングでお絵描き、アニメーション作成~ 高校教科書『情報 II 』(東京書籍)(2024.08.22)
- Python(パイソン)入門3~乱数を利用した、じゃんけんゲーム作成など(生成AI・ChatGPT4も使用)(2023.10.06)
- Python(パイソン)入門2~高校副教材とオンライン環境Bit Arrow、さらにAI(ChatGPT4)も使用(2023.09.06)
- Python(パイソン)入門1~人気プログラミング言語を高校教科書副教材(東京書籍)とオンライン環境Bit Arrowで簡単に(2023.02.28)
コメント