@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
  • Вопрос задан
  • 62 просмотра
Решения вопроса 2
@Wispik
Потому что break прерывает работу первого цикла, в котором он находится, то есть for. В данном случае заведи булевую переменную и выполняй while например, когда она true, и вместе break измени её значение на false
Ответ написан
Здесь while и вложенные цикл for. break прервет выполнения только одного уровня - for.
В данном случае можно использовать return вместо break, чтобы выйти из функции change.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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