# 辞書(Dictionary) - Exercise 1
###### tags: `Python練習題目`
## 問1:辞書を作成する
辞書(dict)を一つ作成し、作成する際はそれぞれ"end"がキーとして入力されるまで辞書のキーと値を入力する。(キーは"end"を含まず)
```
入力例:
key : Google
value:グーグル
key : Twitter
value:ツイッター
key : Amazon
value:アマゾン
key : end
出力例:
{'Google': 'グーグル', 'Twitter': 'ツイッター', 'Amazon': 'アマゾン'}
```

:::info
code:
```python=
while True:
key = input("key:")
if key != "end":
break
else:
value = input("value:")
dict = {key:value}
print(dict)
```
結果:
:::
## 問2:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
商品名から価格を検索するプログラムを作成してください。
見つからない場合は、「No this game」を表示してください。
```
入力例1:
Enter game name: SIREN 2
出力例1:
9800
入力例2:
Enter game name: PSYCHOBREAK
出力例2:
No this game
入力例3:
Enter game name: 九怨
出力例3:
6126
```

:::info
code:
```python=
dict = {"BIOHAZARD Village":"9990",
"零 〜濡鴉ノ巫女〜":"6600",
"SILENT HILL 3":"8990",
"SIREN 2":"9800",
"九怨":"6126",
"コープスパーティー":"1520"}
print(dict)
A = input("Enter game name:")
print(dict.get(A))
if dict.get(A) == None:
print("No this game")
```
結果:
:::
## 問3:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
商品名から価格を検索するプログラムを作成してください。
見つからない場合は、このゲームを辞書に追加して価格を0にしてください。
```
入力例1:
Enter game name: 零 〜濡鴉ノ巫女〜
出力例1:
零 〜濡鴉ノ巫女〜 : 6600
入力例2:
Enter game name: PSYCHOBREAK
出力例2:
{'BIOHAZARD Village': 9990, '零 〜濡鴉ノ巫女〜': 6600, 'SILENT HILL 3': 8990, 'SIREN 2': 9800, '九怨': 6126, 'コープスパーティー': 1520, 'PSYCHOBREAK': 0}
```

:::info
code:
```python=
dict = {"BIOHAZARD Village":"9990",
"零 〜濡鴉ノ巫女〜":"6600",
"SILENT HILL 3":"8990",
"SIREN 2":"9800",
"九怨":"6126",
"コープスパーティー":"1520"}
print(dict)
A = input("Enter game name:")
print(dict.get(A))
if dict.get(A) == None:
dict = {"BIOHAZARD Village":"9990",
"零 〜濡鴉ノ巫女〜":"6600",
"SILENT HILL 3":"8990",
"SIREN 2":"9800",
"九怨":"6126",
"コープスパーティー":"1520",
A:"0"}
```
結果:
:::
## 問4:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
次の表はゲームの価格表で、価格表を辞書にしてください。
見つからない場合は、ゲームを辞書に追加してユーザーに価格を決めてもらいます。
```
入力例1:
Enter game name: 九怨
出力例1:
九怨 : 6126
入力例2:
Enter game name: PSYCHOBREAK
Enter price: 4800
出力例2:
{'BIOHAZARD Village': 9990, '零 〜濡鴉ノ巫女〜': 6600, 'SILENT HILL 3': 8990, 'SIREN 2': 9800, '九怨': 6126, 'コープスパーティー': 1520, 'PSYCHOBREAK': 4800}
```

:::info
code:
```python=
ict = {"BIOHAZARD Village":"9990",
"零 〜濡鴉ノ巫女〜":"6600",
"SILENT HILL 3":"8990",
"SIREN 2":"9800",
"九怨":"6126",
"コープスパーティー":"1520"}
print(dict)
A = input("Enter game name:")
print(dict.get(A))
if dict.get(A) == None:
B = input("Enter game Price")
dict.update({A:B})
print(dict)
```
結果:
{'BIOHAZARD Village': '9990', '零 〜濡鴉ノ巫女〜': '6600', 'SILENT HILL 3': '8990', 'SIREN 2': '9800', '九怨': '6126', 'コープスパーティー': '1520'}
Enter game name:a
None
Enter game Price109
{'BIOHAZARD Village': '9990', '零 〜濡鴉ノ巫女〜': '6600', 'SILENT HILL 3': '8990', 'SIREN 2': '9800', '九怨': '6126', 'コープスパーティー': '1520', 'a': '109'}
:::
## 問5:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
| PSYCHOBREAK | 4800 |
辞書関連の関数を使用して、ゲームの名前と価格を出力してください。
```
出力例:
Game name: dict_keys(['BIOHAZARD Village', '零 〜濡鴉ノ巫女〜', 'SILENT HILL 3', 'SIREN 2', '九怨', 'PSYCHOBREAK', 'コープスパーティー'])
Game price: dict_values([9990, 6600, 8990, 9800, 6126, 4800, 1520])
```

:::info
code:
```python=
dict = {"BIOHAZARD Village":"9990",
"零 〜濡鴉ノ巫女〜":"6600",
"SILENT HILL 3":"8990",
"SIREN 2":"9800",
"九怨":"6126",
"コープスパーティー":"1520",
"PSYCHOBREAK":"4800"}
print('keys()=',dict.keys())
print('values()=',dict.values())
```
結果:
:::
## 問6:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
| PSYCHOBREAK | 4800 |
ゲームイベント「E3」の開催と伴い、一部のゲームがセールになっています。辞書でゲームの価格を修正でき、「end」が入力されると修正が止まるようなプログラムを作ってください。
```
Original price: {'BIOHAZARD Village': 9990, '零 〜濡鴉ノ巫女〜': 6600, 'SILENT HILL 3': 8990, 'SIREN 2': 9800, '九怨': 6126, 'PSYCHOBREAK': 4800, 'コープスパーティー': 1520}
入力例:
I want to change the price of the name of the game: BIOHAZARD Village
New price: 7999
I want to change the price of the name of the game: SILENT HILL 3
New price: 4900
出力例:
I want to change the price of the name of the game: end
Price after promotion: {'BIOHAZARD Village': 7999, '零 〜濡鴉ノ巫女〜': 6600, 'SILENT HILL 3': 4900, 'SIREN 2': 9800, '九怨': 6126, 'PSYCHOBREAK': 4800, 'コープスパーティー': 1520}
```

:::info
code:
```python=
```
結果:
:::
## 問7:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
| PSYCHOBREAK | 4800 |
ゲーム売買プログラムを書いてください。ユーザーに買いたいゲームを入力させ、「end」を入力すると、ユーザーの支払金額を表示してください。これらのゲームの在庫が1つしかないと仮定すると、購入したゲームは辞書から削除する必要があり、実行結果は次のようになります。
```
Original price: {'BIOHAZARD Village': 9990, '零 〜濡鴉ノ巫女〜': 6600, 'SILENT HILL 3': 8990, 'SIREN 2': 9800, '九怨': 6126, 'PSYCHOBREAK': 4800, 'コープスパーティー': 1520}
入力例:
Want to buy the game: 零 〜濡鴉ノ巫女〜
Want to buy the game: 九怨
Want to buy the game: end
出力例:
Title Money: 12726
{'BIOHAZARD Village': 9990, 'SILENT HILL 3': 8990, 'SIREN 2': 9800, 'PSYCHOBREAK': 4800, 'コープスパーティー': 1520}
```

:::info
code:
```python=
dict = {"BIOHAZARD Village":"9990",
"零 〜濡鴉ノ巫女〜":"6600",
"SILENT HILL 3":"8990",
"SIREN 2":"9800",
"九怨":"6126",
"コープスパーティー":"1520",
"PSYCHOBREAK":"4800"}
print('keys()=',dict.keys())
print('values()=',dict.values())
while True:
A = input("I want to change the price of the name of the game: BIOHAZARD Village")
if A == "end"
break
else:
B = input("New price:")
dict.update({A:B})
```
結果:
:::
## 問8:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
| PSYCHOBREAK | 4800 |
入力されたゲームが辞書に載っているかどうかを確認できるプログラムを書いてください。
```
入力例1:
Enter the game you want to query: SILENT HILL 3
出力例1:
The game is in the dictionary
入力例2:
Enter the game you want to query: Dead by Daylight
出力例2:
The game is not in the dictionary
```

:::info
code:
```python=
dict = {"BIOHAZARD Village":"9990",
"零 〜濡鴉ノ巫女〜":"6600",
"SILENT HILL 3":"8990",
"SIREN 2":"9800",
"九怨":"6126",
"コープスパーティー":"1520",
"PSYCHOBREAK":"4800"}
A = input("Enter the game you want to query:")
print = str(A in dict.keys())
```
結果:
:::
## 問9:
次の表はゲームの価格表で、価格表を辞書にしてください。
| Game | Price |
| -------- | -------- |
| BIOHAZARD Village | 9990 |
| 零 〜濡鴉ノ巫女〜 | 6600 |
| SILENT HILL 3 | 8990 |
| SIREN 2 | 9800 |
| 九怨 | 6126 |
| コープスパーティー | 1520 |
| PSYCHOBREAK | 4800 |
Priceを小さいものから大きいものに並べるプログラムを書いてください。
```
**入力例1:**
出力例:
Original price: {'BIOHAZARD Village': 9990, '零 〜濡鴉ノ巫女〜': 6600, 'SILENT HILL 3': 8990, 'SIREN 2': 9800, '九怨': 6126, 'PSYCHOBREAK': 4800, 'コープスパーティー': 1520}
Sorted: [1520, 4800, 6126, 6600, 8990, 9800, 9990]
```

:::info
Code:
```python=
```
結果:
:::
