Как прервать выполнение программы Python?

Помогите пожалуйста разобраться. Запускаю данную программу, ничего не происходит. Когда выключаю ее, PyCharm пишет , line 6, in while sk < 400: ^^^^^^^^ KeyboardInterrupt

sk = 0
k = 1
kk = 2
kkk = 3
kkkk = 5
while sk < 400:
    k = kkk + kkkk
    if k + sk < 400:
        sk += k
    else:
        pass
    kk = kkkk + k
    if kk + sk < 400:
        sk += kk
    else:
        pass
    kkk = k + kk
    if kkk + sk < 400:
        sk += kkk
    else:
        pass
    kkkk = kk + kkk
    if kkkk + sk < 400:
        sk += kkkk
    else:
        pass
else:
    pass

print(sk)
 

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

Автор решения: dresqd

Ничего не происходит - это не совсем верное определение поведения кода. В вашем случае, - бесконечно повторяется выполнение тела цикла.

Переменная sk в результате первой итерации равна 76, в результате второй - 364, далее - изменение переменной не происходит. Соответственно - ваш цикл выполняется бесконечно. До команды

print(sk) 

Вы не дойдете никогда. Из-за этого кажется, что "код ничего не делает".

А в целом - код стоит переписать по ряду причин: Именование переменных не несет никакой информации, из-за этого тяжело разбирать код. Также ваши конструкции вида:

else: 
    pass

Не несут никакой смысловой нагрузки, поэтому их лучше безвозвратно удалить.

Также - прерывание выполнения кода посредством остановки в PyCharm не провоцирует выполнения последующих команд, это не завершение работы цикла.

Завершить цикл с последующим выполнением кода после него можно при помощи метода "break". Пример работы:

cycle_counter = 0  # инициализируем переменную, будем считать ее счетчиком циклов
while True:  # входим в бесконечный цикл
    if cycle_counter >= 2:
        break  # выходим из цикла
    cycle_counter += 1  # инкрементируем (увеличиваем на 1) переменную
print("Я нахожусь после цикла")
→ Ссылка