Вывод словаря

ak-72

Помогите, пожалуйста советом!Есть простой словарь. Нужно вывести ключ и значение (список). Причем, если в списке больше одного значения, то нужно вывести сообщение "favorite languages are: ", а если одно значение в списке, то " favorite language is: ". Программа не верно выводит, но найти ошибку не получается((
fav_lang = {
    'alex ivanov': ['python', 'c++'],
    'masha sosnova': ['delphi'],
    'ivan petrov': ['fortran, c++'],
    'nadja voronova': ['algol, pascal'],
    'sergey ivanov': ['basic'],
    }
 
for name, languages in fav_lang.items():
    if (len(languages) > 1):
        print("\n" + name.title() + " favorite languages are: ")
        for lang in languages:
            print(lang.title())
    elif (len(languages) == 1):
        print("\n" + name.title() + " favorite language is: ")
        for lang in languages:
            print(lang.title())
4 ответа

ak-72

У вас словарь не правильный. Нужно так:
fav_lang = {
    'alex ivanov': ['python', 'c++'],
    'masha sosnova': ['delphi'],
    'ivan petrov': ['fortran', 'c++'],
    'nadja voronova': ['algol', 'pascal'],
    'sergey ivanov': ['basic'],
    }


ak-72

Большое спасибо!!


ak-72

for n in fav_lang:
    print("%s favorite language%s: %s" % (n, " is" if len(fav_lang[n]) == 1 else "s ar", ", ".join(fav_lang[n])))


ak-72

Благодарю!