これまでの経緯
職業訓練でプログラミングを続けています。
詳しい経緯は、以下を参照してください。
プログラミング、はじめました-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}もいいですね!')
リストの方法を勉強して、多少、コードがすっきりしました。
あと、わんこバージョンも追加しました。
散歩猫
コメント