@korjik228337

Пишу адресную книгу. Представленная ниже функция должна изменять адрес и после этого завершать цикл while. Но почему оператор break не работает?

def change():
    while True:
        ch = input('\tВведите имя контакта чей адресс вы хотите изменить:\n')
        if ch == '':
            print('вы ничего не ввели')

        for c, v in ab.items():
            if c == ch:
                new_address = input('Введите новый адресс:\n')
                ab[c] = new_address
                print('Адресс успешно изменен')
                break
  • Вопрос задан
  • 64 просмотра
Решения вопроса 2
@Wispik
Потому что break прерывает работу первого цикла, в котором он находится, то есть for. В данном случае заведи булевую переменную и выполняй while например, когда она true, и вместе break измени её значение на false
Ответ написан
Комментировать
Здесь while и вложенные цикл for. break прервет выполнения только одного уровня - for.
В данном случае можно использовать return вместо break, чтобы выйти из функции change.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы