質問: get_price_in_tax(fruit) File "fruits.py", line 16, in get_price_in_tax return int(fruits_price[fruit_name]*(tax/100+1)) KeyError: 'ぶどう よろしくお願い致します。
回答: ``` if fruit_name not in fruits_price: return return int(fruits_price[fruit_name]*(tax/100+1)) ``` において、フルーツ名が辞書にないと、returnが実行されます。 > > returnは戻り値1こにつき1個ですよね? > > > ここでこの疑問についてですが、return文には戻り値が指定されていませんが、その場合は**`None`が返ります**。 すると後続の`if fruit_price is not None:`の判定は偽となり、else節が実行されます。 また、仮に ``` if fruit_name not in fruits_price: return ``` がないと`return int(fruits_price[fruit_name]*(tax/100+1))`のみが実行されます。 このとき、辞書にフルーツ名が存在しないのに辞書の値を参照しようとすると提示のようなKeyErrorが発生することになります。