プログラミング学習

続プログラミング、はじめました-Python編-ADHDを持つ私に果たして適性はあるのか?-

この記事は約4分で読めます。

これまでの経緯

職業訓練でプログラミングを続けています。

詳しい経緯は、以下を参照してください。

プログラミング、はじめました-ADHDを持つ私に果たして適性はあるのか?

– https://osanponeko.com/programming-start

 これまではJavaを中心にやっていました。 Javaも、本当に基礎レベルだけを何とか勉強、アルゴリズムに対する理解などは、まだまだ勉強が必要というところです。
 今は、カリキュラムが進み、Python を勉強しています。

楽しくて、しかも怖いPython
ーPythonのファーストインプレッションー

Pythonの楽しいと思ったところ

  • これはPythonに限ったことではないと思うが、Javaを先に学習しているので、コーディング自体はなんとなく理解しやすい。
  • Javaよりも、おそらくだいたいは短文でかけるのは嬉しい。
  • Pythonのドキュメントも見やすい。
  • ライブラリ使用により、いろんなアレンジが簡単にできそう。まだそこまで勉強が進んでいないが。Webスクレイピングなどもやりたい。考えるだけでわくわくする。

Pythonの怖いと思ったところ

  • 自分のミスの検出についてはJavaの環境がよかったかもしれない。Javaでは、ミスったところはコンパイラが弾いてくれた。また、eclipseという開発環境を用意することにより、単純なタイプミスも事前にわかりやすい。しかし、Pythonには、コンパイラがなく、実行してみて初めてミスしたのが分る(開発環境の設定次第かもしれないが。今はAnacondaからPython notebookを使用)
  • Javaでは、重要なコマンドは、ほぼ設定をいじれない。逆を言えばJavaではそういう重要なものはミスからある程度守られている。しかし、Pythonでは、基本的かつ重要な関数ですら、自由に書き換えられてしまう。
    • 友人が、タイプミスで「print()=文字列」とやってしまい、そのプログラムの中では、print()関数の中身が書き変わって機能せず、画面表示ができないというバグをおこしていた。それを見て、Pythonはすべて自己責任ということを思い知った。
  • 簡単なプログラムはよいとして、大規模なプロジェクトでミスったらとおもうと、怖い。

ADHDの特性から考える私の方向性として

  • Pythonは面白いと感じる。また、私が好きなアウトラインプロセッサに挙動が近く、やりやすい。
  • しかし、機械による安全装置が働かない(自分がミスったときに機械が弾いてくれない)ところは、とても不安である。
  • 不注意傾向の強いADHDをもつ私としてはミスするのが前提、しかもミスへの不安が強い。仕事ではJavaメインの職場を選び自分で楽しむなど簡単なプログラムを造るには、Pythonという方向性がいいのかもしれない。

勉強中コード(猫分岐)

次のコードはプログラミング超初心者が書いたので、けしてまねしないでください。分岐を練習するのに、事例だけやってもと思い、自分が楽しむために、猫的な分岐条件をつくってみた。もっとエレガントな書き方もあるはずと思うが、今の私の技術力では、このくらいである。ちなみに、プログに貼り付けた時点で、インデントがおかしくなっているので、Python としては、絶対にそのまま実行は禁止である。

ans=input('好きな動物を1つ教えてください。:')
 if (ans=='猫')or(ans=='ねこ')or(ans=='ネコ')or(ans=='にゃんこ')or(ans=='ニャンコ'):
     print(ans,':にゃー!')
 else:
     print(f'{ans}もいいですね!')

実行すると…
「好きな動物を1つ教えてください:」→キーボードで回答を入力してもらう。
入力した答えが、「猫」「ねこ」「ネコ」「にゃんこ」のうちのどれかならば、その猫さんが、「にゃー」と答えてくれます。
それ以外ならば、「○○もかわいいですね!」と表示される。

「猫」という動物は、「ねこ」「ネコ」「にゃんこ」と色々別名があり、その中のどれを回答者が入力した場合でも、ちゃんと「にゃー」といいたいがために、こんな感じのコードになってしまった。私のふざけたこれを考えるのに、いろいろ質問して付き合わせてしまった講師の先生、ごめんなさい。いつもありがとうございます。
私のプログラミング学習の道は始まったばかりです。

2020.03.17 改良バージョン↓

ans=input('好きな動物を1つ教えてください。:')
 cats=["猫","ねこ","ネコ","にゃんこ","ニャンコ"]
 dogs=["犬","いぬ","わんこ","イヌ","ワンコ"]
 if ans in cats:
     print(ans,':にゃー! ')
 elif ans in dogs:
     print(ans,':ワンワン!')
 else:
     print(f'{ans}もいいですね!')

リストの方法を勉強して、多少、コードがすっきりしました。
あと、わんこバージョンも追加しました。

                        散歩猫

コメント

タイトルとURLをコピーしました