потому что у вас цикл бесконечный, и ничем не прерывается
P.S. почему ничего не происходит, если переменная не из первого словаря? Смотрите:
вот вы перебираете
key в
jobs
for key in jobs:
содержит ли
jobs[key] ключевое слово?
if el in jobs[key]:
key_word = key
если вы написали слово из
search - все работает. Правильно?
если вы написали слово из
wether (
погода будет weather) или
calc, то вот тут:
else:
el = add_word
вы меняете
el на пустую строку
add_word. Теперь, если ключевое слово не принадлежит
search, то вы по сути ищите пустую строку в
calc,
wether и
no. Поэтому ничего и не присваивается.
Попробуйте так:
else:
add_word = el