Не добавляется пара ключ-значение в словарь
Программа позволяет выполнять некие действия с словарем 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