Не добавляется пара ключ-значение в словарь

Программа позволяет выполнять некие действия с словарем database.py Вся прога работает нормально, но в блоке "Кнопка 2", значение пары ключ-значение не сохраняется в словарь и при попытке поиска в через блок "Кнопка 1", пару просто не находит. Поясните пожалуйста где я ошибся, я только начинаю изучать пайтон :3 Если есть советы, буду рад послушать.

import database
exit = True


while exit:
#-------------------Меню----------------------------
    print('Узнать дискорд пользователя по никнейму - 1')
    print('Добавить дискорд пользователя в список - 2')
    print('Удалить пользователя из списка - 3')
    print('Закрыть программу - 4')
    menu_com = str(input())
    print(' ')
#---------------------Команда не найдена-------------
    if menu_com == '1' or menu_com == '2' or menu_com == '3' or menu_com == '4':
        pass
    else:
        print('Ошибка: Команда {} не найдена'.format(menu_com))
        print(' ')
        continue
#-------------------Кнопка-1-----------------------
    def button1():
        if menu_com == '1':
            print('Введите никнейм пользователя')
            nick1 = str(input())
            print(' ')
            for nick, discord in database.discords.items():
                if nick1 == nick:
                    print('Дискорд пользователя {0}: {1}'.format(nick, discord))
                    print(' ')
                    return
                else:
                    print('Ошибка: Дискорд пользователя {0} не найден'.format(nick1))
                    print(' ')
                    return
    button1()
#-------------------Кнопка-2------------------------
    def button2():
        if menu_com == '2':
            print('Введите никнейм пользователя')
            nick1 = str(input())
            for nick, discord in database.discords.items():
                if nick1 == nick:
                    print('Ошибка: Пользователь с данным никнеймом уже есть в списке')
                    print(' ')
                    return
            print('Введите дискорд пользователя')
            discord1 = str(input())
            for nick, discord in database.discords.items():
                if discord1 == discord:
                    print('Ошибка: Пользователь с данным дискордом уже есть в списке')
                    print(' ')
                    return
            database.discords[nick1] = discord1
            print(nick1, ' : ', database.discords[nick1])
            print('Пользователь {0} добавлен в список'.format(nick1))
            print(' ')
    button2()
#-------------------Кнопка-3-------------------------
    def button3():
        if menu_com == '3':
            print('Введите никнейм пользователя')
            nick1 = str(input())
            for nick, discord in database.discords.items():
                if nick1 == nick:
                    del database.discords[nick1]
                    print('Пользователь удален {} из списка'.format(nick1))
                    print(' ')
                    return
                else:
                    print('Ошибка: пользователь {} не найден'.format(nick1))
                    print(' ')
    button3()
#-------------------Кнопка-4-------------------------
    if menu_com == '4':
        exit = False

Ответы (1 шт):

Автор решения: Эникейщик

У тебя всегда проверяется только один ник. Если он случайно совпал, то выдается результат. А если не совпал, то выдается, что не найден. Убери все return во всех местах, где не знаешь, что они делают и для чего вообще там стоят. То есть везде.

        for nick, discord in database.discords.items():
            if nick1 == nick:
                print('Дискорд пользователя {0}: {1}'.format(nick, discord))
                print(' ')
                return
            else:
                print('Ошибка: Дискорд пользователя {0} не найден'.format(nick1))
                print(' ')
                return
→ Ссылка