▶ データ分析を基本から学びたい場合は、以下の記事をご覧ください。
はじめに
今回は演習問題を通じて、少しコードをかく練習をします。私自身が学びながらですが、初学者向けの参考書に載っている、リスト型、辞書型やif文を用いて問題を解くことにチャレンジします。参考書を読んでいると、理解できるし難しくないけど、どう役に立つのだろう?ということはありませんか?
実際に問題に触れることで、これらの知識がどう役に立つのかを実感しましょう。さっそく問題です。
問題
プログラムを実行するたびに、「快晴」「晴」「曇」「雨」「大雨」のいずれかを表示する、お天気アプリを作成してください。ファイル名はforecast.pyとしてください。
考え方
ランダムに表示する部分は、randomライブラリをインポートして、ランダムに整数を表示するrandom.randint()を使うとよいでしょう。今回、表示する天気は、「快晴」「晴」「曇」「雨」「大雨」の5種類なので、0~4までの数字をランダムに取得して、それぞれの数字に天気を割り当てるとよさそうです。
if文でつくる
まずは考え方にあるように、0~4までの数字を取得して変数numに格納しましょう。このnumの数字によって、天気を割り当てます。たとえば、0なら快晴、1なら晴、2なら曇、3なら雨、4なら大雨とします。これは参考書でならったif文で実現できそうですね。次のようなコードになります。
import random
num=random.randint(0,4)
if num==0:
print('快晴')
elif num==1:
print('晴')
elif num==2:
print('曇り')
elif num==3:
print('雨')
else:
print('大雨')
辞書でつくる
次に辞書で作ることを考えます。if文で一つ一つ条件分岐しなくても、各数字に天気を割り当てているのであれば、辞書を使えばすぐに数字に対応した天気を取り出せますね。次のようなコードになります。
import random
num=random.randint(0,4)
weather={0:'快晴',1:'晴',2:'曇り',3:'雨',4:'大雨'}
print(weather[num])
だいぶコードが短くなってすっきりしましたね。このように一つの問題にいくつもの解決方法があります。実際に何かを作る、ということとで、参考書の内容も少し見え方が変わってきませんか?
リストでつくる
リストを使ってもこれを解くことができます。リストは順番が決まっているので、天気をリストに入れておいてランダムに取得した数字によってこれを取り出せばよいですね。
import random
num=random.randint(0,4)
weather_list=['快晴','晴','曇','雨','大雨']
print(weather_list[num])
まとめ
いかがでしょうか?実際にやってみるとプログラミングのイメージもわきますね。ところで、作成したforecast.pyの実行方法についても簡単に触れておきます。Windowsの場合には、コマンドプロンプトでforecast.pyが保存されているフォルダに移動して、「python forecast.py」とします。
すると、天気を返してくれます。これは実行するたびにランダムに表示されます。
▶ if文を基本から学びたい場合は、以下の記事をどうぞ
▶ データ分析を基本から学びたい場合は、以下の記事をご覧下さい。
コメント