Код продолжает работать одинаково для всех элементов - PullRequest
0 голосов
/ 08 ноября 2019
friends_dict = {'2018': ['tom', 'jerry', 'darryl'],
                '2017': ['john', 'cait', 'ash']}

print(friends_dict['2017'])
print(friends_dict['2018'])

find_Friend = input('What friend are you looking for? >>').strip()

flag = True

for year, friends in friends_dict.items():
    for friend in friends:
        if friend != find_Friend:
            flag = False
            break
        else:
            print('That\'s your friend homie!')

if not flag:
    add_friend = input('Would you like to add friend? (y/or any key to quit) >>').lower()
    if add_friend == 'y':
        ask_Year = input('What year would you like to add them to? >>').strip()
        if year in friends_dict.items() == ask_Year:
            friends_dict[ask_Year].append(find_Friend)

        else:
            friends_dict[ask_Year] = [find_Friend]

    else:
        print('Sounds good g! Have a good day.')        


print(friends_dict)

Мой код продолжает работать так же, даже когда я устанавливаю логический флаг False. Как я могу это исправить?

1 Ответ

0 голосов
/ 08 ноября 2019

Вот ошибки, которые я нашел:

(а). Вы сравниваете только первый элемент в списке со значением, введенным пользователем. Вы должны проверить, присутствует ли введенный пользователем find_Friend во всем списке:

Поэтому замените первый цикл for на следующие строки:

for year, friends in friends_dict.items():
    if find_Friend not in friends:
        flag = False
    else:
        flag = True

(b). Если find_Friend не существует в ЛЮБОМ списке, вы запрашиваете год, который нужно ввести. Все, что вам нужно сделать, это проверить, существует ли year в friends_dict. Поскольку год является ключом к указанию, вы можете просто использовать оператор in, чтобы увидеть, существует ли введенное значение, то есть ask_Year, в friends_dict. Поэтому замените строки if not на:

if not flag:
    add_friend = input('Would you like to add friend? (y/or any key to quit) >>').lower() 
    if add_friend == 'y':
        ask_Year = input('What year would you like to add them to? >>').strip()
        if ask_Year in friends_dict:
            friends_dict[ask_Year].append(find_Friend)
        else:
            friends_dict[ask_Year] = [find_Friend]
    else: print('Sounds good g! Have a good day.')
else: print('That\'s your friend homie!')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...