Вам нужно перебрать значения вашего словаря. В настоящее время вы перебираете ключи в словаре, не обращаясь к значениям.
Обратите внимание, что for i in fav_color
- идиоматический способ итерации ключей в Python.
Pythonic способ перебора значений заключается в использовании dict.values
:
def use_favcolors(fav_color):
count = 0
for color in fav_color.values():
if color == 'green':
count += 1
print count
Другим способом реализации вашей логики является использование sum
с выражением генератора. Это работает, потому что True == 1
, поскольку Boolean является подклассом int
.
d = {"John": "green", "Bobby": "blue", "PapaSanta": "yellow"}
res = sum(i=='green' for i in d.values()) # 1