pythonじゃんけん勇者の旅.Lv8-辞書-
じゃんけんプログラムを少しづつ改良してPythonのレベルアップを目指すnote.Lv8
前回のあらすじ
・defした関数の戻り値はreturnを使って受け取る
↓マガジンはこちら↓
今回の完成イメージ
1を入力したらグーを返し、2を入力したらチョキを返し、3を入力したらパーを返す
今回の学習内容
・辞書を使う
if文を使った場合
以前学習したif文を使った場合は下記のようになります
jyanken = input(r'あなたの手は?{1:グー,2:チョキ,3:パー}:')
jyanken = int(jyanken)
if jyanken == 1:
print('あなたの手はグーです')
elif jyanken == 2:
print('あなたの手はチョキです')
elif jyanken == 3:
print('あなたの手はパーです')
else:
print('数字の1,2,3のどれかを入力してください。終了します')
今回はじゃんけんなので3パターンのif分を書けばいいですが、これがもっとデータ量が多かったら書く量が大変ですよね。そこで「辞書」にデータをあらかじめ格納してデータを取り出す方法を行います。
辞書とは
辞書はkeyとvalueで構成されています。今回のじゃんけんの場合はkeyが「1」でvalueが「グー」を指します。
辞書は下記のように記述します
dic = {1:'グー', 2:'チョキ', 3:'パー'}
辞書を使ってみる
dic = {1:'グー', 2:'チョキ', 3:'パー'}
jyanken = input(r'あなたの手は?{1:グー,2:チョキ,3:パー}:')
jyanken = int(jyanken)
jyanken = dic[jyanken]
print('あなたの手は' + jyanken + 'です')
実行
1.下記のコードを「yuusya_lv8.py」として保存
import sys
dic = {1:'グー', 2:'チョキ', 3:'パー'}
def fast_input():
print('じゃんけんはじめる?')
txt = input(r'入力してね!{はい:y,いいえ:n}:')
if txt == 'y':
print('はいを選んだね!じゃんけんをはじめよう')
elif txt == 'n':
print('いいえを選んだね!終了するね')
sys.exit()
else:
print('yとn以外を入力したね!終了するね')
sys.exit()
def jyanken_input():
num = input(r'あなたの手は?{1:グー,2:チョキ,3:パー}:')
return num
fast_input()
jyanken = int(jyanken_input())
jyanken = dic[jyanken]
print('あなたは' + jyanken + 'を選択しました')
2.pythonの実行
ターミナルから「yuusya_lv8.py」が保存されているディレクトリに移動し「yuusya_lv8.py」を実行。
おさらい
・辞書をつかってデータを格納し取り出す
次回予告
・未定!
この記事が気に入ったらサポートをしてみませんか?