3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【脱・大量elif】辞書型の活用によるスマートな多分岐

Last updated at Posted at 2020-08-31

Pythonにはswitch文がありません。それゆえ、多分岐を実装する場合、if文と複数のelif文を書く必要があります。「もっとうまく書けないものか…」そう考えた自分は、以下のように書くようにしました。スマート!(自画自賛)

皆さんはどのように書いていますか?コメントお待ちしております!

ビフォー

都道府県 = "愛知県"

if 都道府県 == "新潟県":
    県庁所在地 = "新潟市"
elif 都道府県 == "富山県":
    県庁所在地 = "富山市"
elif 都道府県 == "石川県":
    県庁所在地 = "金沢市"
elif 都道府県 == "福井県":
    県庁所在地 = "福井市"
elif 都道府県 == "岐阜県":
    県庁所在地 = "岐阜市"
elif 都道府県 == "長野県":
    県庁所在地 = "長野市"
elif 都道府県 == "山梨県":
    県庁所在地 = "甲府市"
elif 都道府県 == "静岡県":
    県庁所在地 = "静岡市"
elif 都道府県 == "愛知県":
    県庁所在地 = "名古屋市"

print(都道府県 + "の県庁所在地は" + 県庁所在地 + "です。")

アフター

都道府県 = "愛知県"

都道府県to県庁所在地 = {
    "新潟県":"新潟市",
    "富山県":"富山市",
    "石川県":"金沢市",
    "福井県":"福井市",
    "岐阜県":"岐阜市",
    "長野県":"長野市",
    "山梨県":"甲府市",
    "静岡県":"静岡市",
    "愛知県":"名古屋市"
}

print(都道府県 + "の県庁所在地は" + 都道府県to県庁所在地[都道府県] + "です。")

※Python、変数名を日本語で書けるようです。初学者へのハードルを下げるためにも日本語で書いてみました。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?