とまと あんらいぷ…

エンジニアの活動記録とかつぶやきとか

GitHub
スポンサードリンク

WindowsでPython その4(if文)

ブログタイトル変更しました


昨日まで「Pythonでデスクトップアプリを作るまで頑張る」というタイトルだったのですが、
タイトルが丸かぶりしていたブログさんがあったので変更しました。

制御構文ってなに


職業プログラマをしていると必ず聞かれる質問

「言語は何ができますか?」

これね、定義が分からんのですよ。

「いくら時間がかかっても、組むことができる」が「できる」の条件なんだったら、
0から勉強時間を費やせば、誰にでもそれなりにはできるようになると思うんですよ。

私が考える「できる」の条件は次の2点で、

1.その言語の得意不得意分野と、困った時に調べる場所(マニュアルとか、WEBサイトとか)をある程度知っていること。
2.制御構文を調べずにソラで打てること。

2について言及すると、自然言語でいう日常会話。
これがプログラムにおける「制御構文」です。

いわば文法とか、言い回しはともかく言いたい事を伝える技術です。
これができなければ「できる」とは言えない。
今日はそんな制御構文の一つ「条件分岐」の「if」をやります。

「条件分岐」の「if」



さて、if文っていうのは、○がこうだったら、▲をする。そうじゃなかったら□をする。
という条件によって処理を分岐する命令です。

とりあえず偶数か奇数かを判断するif文を書いてみます。
これまでやってきたとおり、拡張子がpyのファイルを作って、Pythonのエディタを開く。

WindowsでPython その4(if文)

ユーザーに数値を入力してもらって、それが何かを出力するプログラムです。

ifは、Pythonでは

if (なんか条件) :
    やりたいこと1
    やりたいこと2
else (なんか条件じゃなかった時) :
    やりたいこと3
    やりたいこと4

って書くのがお作法(文法)です。
「やりたいこと」として、字下げ(インデント)が揃ってる部分が、一つのかたまりとしてみなされます。

プログラムを書いたはいいけど、どうやって実行するん?


さてさて、Python標準のプログラムエディタですが、コマンドラインからファイル名を打ち込んでもいいけど
どうやらRunというところで実行できるらしい。

WindowsでPython その4(if文)

F5って書いてるのはショートカットで、書いたプログラムを即時実行したい時はF5を押してね。

なんか出た。

WindowsでPython その4(if文)

実行できたので、1と入力・・・
ちゃんと「奇数です」って表示されてるし、2を入力すると「偶数です」って出ました。

WindowsでPython その4(if文)

数値以外を打ち込んで見る


例外処理について見てみます。
 ※例外とは、想定外のプログラム実行のこと

"a"って入力してみました。
すると・・・・

WindowsでPython その4(if文)

なんかエラー出た。

エラーっぽい言葉を探すと、ValueErrorって出てます。
直訳すると「値エラー」ですね。
line 3 って出てるので3行目がエラー出たよって教えてくれてます。親切です。

コードの見直し


さて、コードの3行目を見てみる。

WindowsでPython その4(if文)

どうやら
intInput = int(strInput)
ってところがおかしいらしい。

int()は、文字列の数字を数値に直す関数なので、そりゃ、プログラムからしたら"数字"が指定されると思ってるんだから
想定外ということでエラーになるわ。

ってことで、対処する。

対処方法は色々あるけど、今回は想定外を対処する「例外処理」を使ってみる

例外処理



Pythonの日本語マニュアル
例外を処理する
を見てみました。

try構文(これも文法だよ!)を使えば、なんとかできるみたいなので書き直す。

WindowsでPython その4(if文)

int()にするときに、想定外だった場合どうするかってのを書く。
とりあえず文句言って、プログラム終了させるコードにします。
エラー内容が「ValueError」なので、except の後ろにそのエラーを指定しています。
よって「ValueError」以外の予期していないことが起きれば、やっぱりエラーメッセージはでてきますよ。

sys.exit()ってかいてるのはまたいつか書きますが、これがその場でプログラム終了させる命令です。

んで実行。

WindowsでPython その4(if文)

よし、お目当ての動きができた。

今日思ったこと


基本的な構文が全然わかってないので、if文やtryそして、sys.exit()するのに調べるのが必要だったので
めちゃくちゃ時間かかった・・・
これは「できる」とはいえないね。

ってわけで、しばらくは条件分岐や文法について記載していきます。

ではまた!


★Python の記事一覧★
▼この記事を読んだ方は、こんな記事も読んでいます。▼

スポンサードリンク

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dalmore.blog7.fc2.com/tb.php/164-2dc755c9
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad