# 辞書(Dictionary) - Exercise 1 ###### tags: `Python練習題目` ## 問1:辞書を作成する 辞書(dict)を一つ作成し、作成する際はそれぞれ"end"がキーとして入力されるまで辞書のキーと値を入力する。(キーは"end"を含まず) ``` 入力例: key : Google value:グーグル key : Twitter value:ツイッター key : Amazon value:アマゾン key : end 出力例: {'Google': 'グーグル', 'Twitter': 'ツイッター', 'Amazon': 'アマゾン'} ``` ![](https://i.imgur.com/Kj5yPSa.png) :::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 ``` ![](https://i.imgur.com/1Vax42C.png) :::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} ``` ![](https://i.imgur.com/wiCvmgG.png) :::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} ``` ![](https://i.imgur.com/agrSzUl.png) :::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]) ``` ![](https://i.imgur.com/2YoLLUQ.png) :::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} ``` ![](https://i.imgur.com/9wv34sC.png) :::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} ``` ![](https://i.imgur.com/2A5Swls.png) :::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 ``` ![](https://i.imgur.com/ZtcUXeq.png) :::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] ``` ![](https://i.imgur.com/HFCvVyj.png) :::info Code: ```python= ``` 結果: ::: ![](https://i.imgur.com/rLbYSrV.png)