« 7年ぶりにハーフマラソン、エントリー!(賞金付き♪)&予定外の小雨プチジョグ、珍しくピリピリと腰痛 | トップページ | 「雑草」への水やり、人に望まれてる草は雑草ではない♪(辞書の定義)&13kmジョグ、小雨狙いがまた失敗 »

Python(パイソン)入門2~高校副教材とオンライン環境Bit Arrow、さらにAI(ChatGPT4)も使用

(☆23年10月6日の追記: 関連する最新記事を別に新たにアップ。

Python入門3~乱数を利用した、じゃんけんゲーム作成など(ChatGPT4使用))

   

   

    ☆     ☆     ☆

前回の1本目の記事から、半年も経ってしまったが、人気のプログラミング言語「Python」(パイソン)の2本目の記事を書くことにしよう。

   

ちなみに、前回の記事はこちら。本当にほとんど何も知らない初心者向けの内容。

    

 Python入門1~人気プログラミング言語を高校教科書副教材とオンライン環境Bit Arrowで簡単に

  

当然、教科書の類と、プログラムを書いて実行する環境が最初のポイントになる。特に、安心して信頼できる環境が大切。

  

  

      ☆     ☆     ☆

私は、数学や論理は好きなのに、プログラミングとはどうも相性が悪いようで、昔から数ヶ月に1本くらいのブログ記事しか書いて来なかった。嫌いというわけではないけど、つい、自然に避けてしまう。

    

ただ、この半年間の空白は、個人的な相性とか感情、能力の問題だけではない。前回の記事の少し後、3月半ばに、対話型AI「ChatGPT」の新ヴァージョン・model4が登場。一気に性能が上がって、特にプログラミングは既にビジネスの実用レベルまで来てるというような話を聞いてた。

   

それが事実なら、素人がゼロからゆっくりプログラミングを学ぶ意味はあまり無い・・・とまで言うと言い過ぎかも知れないが、ますます意欲がそがれるのは確かだ。

  

とはいえ、実際にChatGPT4に数学や論理の問題を解かせてみると、まだまだ実力不足。たかが、普通の高校生~大学生レベルのように感じられる。別に難しい話でなくても、簡単な処理で凡ミスをしてることも少なくない。

   

では、プログラミングだと、どの程度の実力なのか? 苦手意識の強い素人の私が、簡単な問題で試してみることにした。しかし、その前に、私自身がほんの少しは分からなければいけないので、まずは復習で思い出す所からスタートした。

   

   

      ☆     ☆     ☆

前回と同じく、東京書籍の副教材『Python入門』が推奨してたオンライン環境、Bit Arrow(ビットアロー)にアクセス。半年経ってるから、サイトがダウンしてるかも・・と思ったが、普通に運営されてた。   

  

230906g

      

完全に忘れてたパスワードを探り当てた後、ログイン。新規プロジェクト「230905」を作成した後、新規ファイル「Py230905a」も作成。ファイル名は、単に「230905a」としたかったのに、なぜかその名前だと作れなかった。「Py」を先頭に付けると成功。注意書きは見当たらないが、そうゆう仕様なのか?

      

230906a

   

ウォーミングアップは毎度お馴染み、「Hello ・・・」。print関数で、シングル・クォーテーションに挟んで「Hello Python」と入力。実行タブから実行すると、実行画面ダイアログに「Hello Python」と表示された。

    

      

230906b

  

続いて、パスワード確認プログラムの復習。ただし、前回の記事とは少し設定を変更。変数 pw には、正しいパスワードとして、「1234」を代入。変数 ipt には、「password= 」とたずねるダイアログ・ボックスでの入力を代入。

  

そして、条件と反応を設定する if 文。pw が ipt と等しいなら、「login ok」と表示。そうでなければ〔等しくなければ〕、「wrong password」と表示。if の行と、else の行の最後には、コロンが必要だから、忘れずに。

     

230906c

  

実行すると、上図のようなダイアログが表示されて、正しいパスワード「1234」を入力すると、「password= login ok」と表示された。成功。

     

230906d

   

   

      ☆     ☆     ☆

ここからは、今回の新しい内容。同じ動作を繰り返し行う、for 文。といっても、似たような話は既に別のプログラミング言語で練習済み。

    

230906e

   

for の次の i が余計だと思うけど、テキスト(副教材)に従って、ほぼそのまま書く。range で反復の回数を定めて、またコロンが必要。

  

少しテキストとは変えて、ABC と DEF の表示を2回繰り返させた後、最後に繰返しなしで G を表示させる。繰返し〔ループ〕の範囲を定めるために、print の左側には同じ数のスペース〔空白〕を挿入。ここでは4コで、実は改行しただけで自動的に4つ空白ができた。この空白を入れる作業のことを、「インデント」と呼ぶ。

     

230906f

   

   

      ☆     ☆     ☆

さて、ここで人間の努力はひとまず休止。話題のAI、ChatGPT(有料サブスクのModel4)に色々な形でたずねてみた。

   

230906h

  

まず、上で書いた for 文のプログラムをコピペして、出力がどうなるかを質問。すると、一瞬で回答して来た。しかも、実行画面つきで。素晴らしい! 与えられたプログラムは解釈・実行できると。

      

230906i

   

では、与えられたプログラムを真似して、同種のプログラムをAIが作成できるかどうか、試してみると、これまた一瞬で正解だった。しかも、見やすいカラー表示で、実行結果つき。

      

   

      ☆     ☆     ☆

今度はサンプルとなるプログラムを与えずに、パスワード判定プログラムを作らせると、テキストよりも少し簡単なプログラムを表示して来た。ただ1つの長い名前の変数 password_input を使用してる。

     

230906j

   

この独自のプログラムを見て、テキストのプログラムとの比較をさせてみた。それぞれの長所と短所は何か?

   

230906k

     

すると、直ちに、やや長めの模範的な回答を示して来た。これだけ一瞬で答えるのは、プロの人間でも簡単ではないはず。

   

230906l

    

230906m

   

    

      ☆     ☆     ☆

私の言葉で説明し直すと、要するに、2つのプログラムは、変数の個数と名前が異なる。

  

テキストは、変数2コで、短い名前。特に、正しいパスワードも変数に入力してる所がポイントで、変更や、別の箇所への活用も容易だけど、面倒で、名前も分かりにくい

  

AIは、変数1コで、長い名前。応用する場面では多少、面倒になるけど、書くだけなら簡単だし、名前も分かりやすい。

    

多分、この私の説明をAIに示して、感想をたずねると、大げさに褒めてくれると思う♪ 基本的に非常にポジティブな反応を示して来る。

  

今まで唯一の例外は、株価の予想についてたずねた時。多額のお金がからむし、トラブルが起こりやすいし、最新の情報が必要で、正解のない話。この時だけは、素っ気ない消極的な回答ばかりになってた。

   

    

      ☆     ☆     ☆

プログラミングに関するAIの実力を少し確認した所で、最後に再び、人間の学習の続き。算数・数学的な、数の処理。

    

230906n

   

まず四則演算(+、-、×、÷)のうち、かけ算と引き算の組合せ。3つの変数x、y、zに、それぞれ2、3、5を代入した後、x×y-zを計算させると、2×3-5で、答の1が表示された。×の記号は、いつものように、アステリスク *。

   

230906o

   

最後は、if 文の条件を2つ、and(かつ)でつないで設定。and は、論理演算子と呼ばれるものの1つ。変数 a (ここでは5)が、5より大きくて、かつ、3で割った余りが0ならば、OK と表示。そうでなければ、NG と表示。整数の割り算の余りには、パーセントの記号 % を利用。

      

230906p

   

7は5より大きいけど、3では割り切れないから、条件を2つとも満たしてるとはいえない。よって、実行結果は、NG 。

   

230906q

    

  

ちなみに、上のプログラムで、and の代わりに or〔または〕という論理演算子を使うと、実行結果は OK になる。a>5またはa%3=0だから、a>5であればそれだけでよい。or なら、a=3でも、OK 。

     

かなり疲れた所で、今日はそろそろこの辺で。。☆彡

   

   

      (計 2973字)

   (追記78字 ; 合計3051)

| |

« 7年ぶりにハーフマラソン、エントリー!(賞金付き♪)&予定外の小雨プチジョグ、珍しくピリピリと腰痛 | トップページ | 「雑草」への水やり、人に望まれてる草は雑草ではない♪(辞書の定義)&13kmジョグ、小雨狙いがまた失敗 »

プログラミング」カテゴリの記事

AI」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 7年ぶりにハーフマラソン、エントリー!(賞金付き♪)&予定外の小雨プチジョグ、珍しくピリピリと腰痛 | トップページ | 「雑草」への水やり、人に望まれてる草は雑草ではない♪(辞書の定義)&13kmジョグ、小雨狙いがまた失敗 »