自室にて
今日のひまり先輩と哀先輩の競プロの勝負を見て、私は来週のコンテストで先輩方のお荷物になることが100%確定してしまった。プログラミング初心者の私では卒業まで続けたとしても追いつける気がしない。
といっても、コンテストに出場するには三人必要なので、今さら部活をやめるつもりもない。どうせなので、行けるところまで行くつもり。
もしかしたら、部活の後輩もできるかもしれないからね。そのときに私が一番プログラミングが出来なかったら、先輩として顔が立たない。
そもそもケーキ同好会だから、プログラミングの心配をしなきゃいけないのが異常なんだけど。
少しでも追いつけるように、自習しようかな。ノートパソコンをカバンから出して、勉強机の上に置いた。ついでに、学校に置いていた、信じられない分厚さのPythonの教科書も取り出す。
この本のせいで、私が読んだことのある本の分厚さランキングの一位は当面の間更新されることはないだろう。
最初に教科書販売のときにこの本を見たときは、あまりの分厚さに挫折を覚悟した。ひまり先輩や哀先輩は授業で習う前から競技プログラミングをしていたそうだから、この本を自分で読んだんだろうな。
いや、先輩方はPythonじゃなくて、C++ みたいな?プログラミング言語をメインで使っていると聞いた。それで、私にPythonも教えられるということは、2冊分を理解しているということ...?
プログラミング言語は基本的な機能は同じなので、一つの言語を理解したら、ほかの言語も一日もかからずにある程度書けるようになることを私が知るのは、もう少し先のことだった。
私は適当に教科書の最初の方のページをめくる。教科書の一番最初の節はprint文についてだった。print文はひまり先輩に教えてもらったので適当に読み飛ばす。
次の節は、input文についてだった。今日教えてもらったところだね。input()と書いたときは文字列の入力になって、int(input())って書いたときは整数の入力になる。やってみればそこまで難しくなかったね。
まあ読み飛ばしましょう。さらに私はページをめくる。
その次の節は、if文についてだった。どれどれ、「条件分岐」というものをするのに使うらしい。
<<Python>>
if 4 > 3:
print("4は3よりも大きいよ!")
ifって英単語の意味は分かる。もしもっていう意味のはず。
「4 > 3」っていうのは「条件式」というらしい。そして、4は3よりも大きいので、「4 > 3」は「真」の値を持つ条件式というらしい。
......なんだか難しい言葉を使っているけど、要するに条件を満たしたときだけプログラムを動かしたいときに使うんだね。
次のような例が載っていた。
<<Python>>
print("年齢を入力してください。")
age = int(input())
if age < 20:
print("あなたはお酒を飲むことができません。")
else:
print("あなたはお酒を飲むことができます。")
なんかelseとかいう知らないのがあるけど、実際に実行してみたら分かるかな?
<<Terminal>>
>python main.py
年齢を入力してください。
年齢を聞かれた。とりあえず15と入力して、エンターキーを押す。
<<Terminal>>
>15
あなたはお酒を飲むことができません。
私の年齢が20歳未満だから、if文の age < 20 が条件を満たしたのだ。if文は、「条件を満たしたら、実行する」処理を書けるんだね。
よし、if文は多分理解した。
......嘘です。ifの後ろにあるelseが分かりません。
elseは初めて聞いた英単語だったので辞書で調べる。AIアシスタントに聞いてしまえば1秒もかからずに答えが返ってくるのだろうけど。
私のスマホのAIアシスタントは感情もなければネットにすらつながらない、骨董品である。
だから、この時代に未だに辞書を使っている数少ない人のうちの一人になってしまっている。
高校で生徒に最新のAIアシスタントを貸してくれたらいいのにな。そうしたら、分厚いプログラミングの教科書も持ち歩かずに済むのに。
elseは「そのほかの、他の、別の」という意味らしい。ifとelseの関係から考えると、ifの条件が満たされなかったときにelseの方が実行されるのだろう。
よし、年齢を30歳にして、もう一回さっきのプログラムを実行してみよう。age < 20 が満たされないから、さっきと違う結果が出力されるはず。
<<Terminal>>
>python main.py
年齢を入力してください。
>30
あなたはお酒を飲むことができます。
予想通り、「あなたはお酒を飲むことができます。」と出力された。age < 20が成り立たないので、ifの後ろは実行されず、elseの後ろのprint文が実行されたのだ。
......やっぱり英語の能力があったほうが良いんじゃないかな。競技プログラミングの社長さんは、本当に英語の能力なしでプログラミングができるようになったんだろうか。
ひまり先輩は人に騙されそうな性格なので、嘘の話を聞かされた可能性があるね。
ここまでのところをまとめておこう。
まとめ
print("") で文字を出力する
x = で文字や数を記憶しておける
x = input() で文字を入力する
x = int(input()) で数を入力する
追加
if 条件式: で条件を満たしたときだけ処理をすることができる(: ←コロンを忘れずに!)
else: をifの後ろに付けると、ifが実行されなかったときだけ処理をすることができる