この記事は、本当に0からPythonのプログラミングを始めて、プログラミングができるようになるまでの記録です。
着手6日目 文字列を扱う
文字列を扱うのに、クソごみみたいなプログラムを作りました。
ore = "俺"
kimi = input("君の名前は?")
print("俺は" + ore + "君は" + kimi + "さんですね!")
みたいなプログラムです。
実行して、君の名前は? の後に、 前々前世 とか入れると、
俺は俺君は前々前世さんですね!
と表示されるだけのプログラム。
正直、最初に文字列を扱うことに関して、これが何に化けてどう有効なのか?が全然わからなかったのですが、次の、数値を含んだ場合に、だんだん見えてきました。
数値と文字列を結合しようとしたらエラー その時に思った「は?」
toshi = input("君の年は?")
print("君は" +toshi + "歳ですね!")
で、Errorが出ました。TypeErrorというエラー。
Pythonの場合、ほかのプログラミング言語と違い、データの型がふわっとしています。ほかの言語だと、toshiは数値ですよ、とか、oreは文字列ですよ、というように、宣言してから使用します。Pythonの場合、わざわざ○○は××という型です。みたいなことはしないですが、型に関しては、一致していないとこのTypeErrorがでます。
JavaScriptとかでは、ある意味なぁなぁで解釈してくれますが、Pythonは、データの性質とどう扱うのか?を重視しているので、プログラムを書く側がきちんとデータを扱わないと、Pythonに怒られます。
Pythonの面白み 矯正されてる感
型のデータが違うとエラーが出ることが、私は面白いと感じました。
なにせ、ドがつく素人なので、型もエラーもほんとに「なぜ?」「パソコンなんだから判断しろよ!」ぐらいにも思ったんですが、「現実世界でも、きちんとした指示を出さない上司・・・おるな・・・。」となったので、素直に反省して方法を覚えました。
str()で数値を文字列にする
文字列に変えるためには、str()という組み込み関数(Python側で用意してくれてる関数)を使います。
ふたを開ければ、なんだこれだけか、という感じだったんですが、この文字列の変換だけじゃなく、int()とかfloat()も大事そうなので、ついでに使ってみました。
みんPyでは、次にリストにページが移るのですが、ほんとに初心者未満だったので、リストの意味もわからなければ、なぜ要るのか?もわからなかったので飛ばし、ifの項まで一気に移りました。
着手7日目 条件分岐でだいたいいけるんじゃね?
ifに関しては、Excelで馴染みがあったこともあり、「書き方」以外はすんなり入ってきました。Pythonでのifの書き方は
if kimi == "太郎":
print("俺も太郎だぜ?")
みたいに、if ナントカ ==(イコール2つ) ホニャ :(コロン)
で、次の行はインデントして、条件によって実行したいことを書きます。
世の中のことはだいたい条件分岐してるんじゃないか?と思っていたので、ifさえ使えれば、だいたいのプログラムなんて作れるんじゃないか?とここにきて思いました(甘かったですが)。
ただ、同時に、わざわざPythonで「何か」を作らなくても、数字ありきならエクセルでやればいいんじゃないの?とか、答えがわかっている問いに対するifみたいなもので、条件を分岐する意味がよくわからなかったり、考えれば考えるほどドツボにはまっていっていました。
この先から基礎をもう少し触っていくことと、なにが作りたいか?を考えながら、基礎の先にある少しの応用を触れていくことになります。
つづきはまたの機会に書こうと思います。