Pythonで辞書を使ってコードブルーの職業別に出力

この記事を読むと、Pythonの辞書の基本的な作り方、キーと値の指定の仕方、次のデータの追加方法、辞書から「キーを指定」して「値を取り出す方法」が学べます。
また、Pythonでの標準入力の書き方の復習も可能です。

この記事で作成する辞書の具体例として、医療系ドラマ「コード・ブルー ドクターヘリ緊急救命 3rd season」のキャラクターを用います。(山Pこと元NEWSの山下智久さん主演のドラマです。)

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

おはこんばんにちは!
うにゃうにゃエンジニアの猫です(=^・^=)
辞書は、キーと値で構成されているので、「{(波かっこ)」で括って、下記のように記述します。

character_dic={‘ドクター’:’藍沢耕作’}

で、この場合は【キー】が「ドクター」で、【値】が「藍沢耕作」です。
キーと値は「:」で区切っています。

この辞書にあと1人だけ(私の推しキャラ!)を追加してみます。

character_dic={‘ドクター’:’藍沢耕作’,’ナース’:’雪村双葉’}

辞書は、「,」を区切ることによって次のデータが入ります。
同様にして、他のキャラクターも追加して、辞書character_dicは、この様になりました。

character_dic={‘ドクター’:’藍沢耕作’,’フェロー’:’名取楓馬’,’ナース’:’雪村双葉’,’患者’:’緒方さん(板前の患者)’,’その他’:'(=^・^=)mm。。。’}

この辞書を単純に出力するコードと、その実行結果です。

#コードブルーのキャラクターの辞書。
#職業をキー、名前を値
character_dic={'ドクター':'藍沢耕作','フェロー':'名取楓馬','ナース':'雪村双葉','患者':'緒方さん(板前の患者)','その他':'(=^・^=)mm。。。'}

print(character_dic)

では、標準入力と単純なIF文を使って、少しアレンジをしていきたいと思います。

標準入力で、「d」と入力するとキー「ドクター」が指定されて値の「藍沢耕作」が出力されます。(ifの条件が真の時に該当)

「f」と入力するとキーに「フェロー(研修医)」が指定されて値の「名取楓馬」を出力されます。(elifの条件が「f」の時に該当)

「n」と入力するとキーに「ナース」が指定されて値の「雪村双葉」が出力されます。
(elifの条件が「n」の時に該当)

「p」と入力するとキーに「患者」が指定されて「緒方さん(板前の患者)」が出力されます。pは患者(patient)のpです。
(elifの条件が「p」の時に該当)

また、それ以外のテキトーな入力をすると、キーに「その他」が指定され、猫マークの「(=^・^=)mm。。。」が出力されます。(elseに該当)

ここまでのコートを、かいつまんで解説すると、標準入力の直前に、

print(‘【d】ドクター、【f】フェロー、【n】ナース,【p】患者 【記号】を入力>>>’,end=”)

と、書いています。
最後のend=”は、改行せずにこのメッセージの直後に【d】や【f】を入力できる様にしています。

標準入力は

job=input()

で、ここで【d】とか【f】などの文字を変数jobに格納します。

その後はIF文で分岐させています。

if job=='d':
    index='ドクター'
elif job=='f':
    index='フェロー'
elif job=='n':
    index='ナース'
elif job=='p':
    index='患者'
else:
    index='その他'

その後にjobに入力された【d】や【f】がこのIF文による分岐で、indexに「ドクター」や「フェロー」などの辞書のキーが代入されます。

その代入されたindexを辞書のキーとして、キャラクター名を下記のprint文で出力しています。

print(character_dic[index])

では、これまでのコードと実行結果です。

#コードブルーのキャラクターの辞書。
#職業をキー、名前を値
character_dic={'ドクター':'藍沢耕作','フェロー':'名取楓馬','ナース':'雪村双葉','患者':'緒方さん(板前の患者)','その他':'(=^・^=)mm。。。'}

#標準入力でキーを指定
print('【d】ドクター、【f】フェロー、【n】ナース,【p】患者 【記号】を入力>>>',end='')
job=input()

#IF文による分岐で辞書のキーを指定して、変数indexに代入する
if job=='d':
    index='ドクター'
elif job=='f':
    index='フェロー'
elif job=='n':
    index='ナース'
elif job=='p':
    index='患者'
else:
    index='その他'

#辞書のキーにindexが入って、該当する値が出力される
print(character_dic[index])

ここから実行結果を見ていきます。頭の中でIFによる分岐をイメージして書きました。

標準入力で【d】を指定した場合。

標準入力で【f】を指定した場合。

標準入力で【n】を指定した場合。

標準入力で【p】を指定した場合。

標準入力でなんかテキトーなキー(ここでは【y】)を指定した場合。

ご精読ありがとうございました。

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

投稿者: nekosiestr

プログラミング学習中の発達障害者です。宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。