Meacronacer
почему именно так. типо это
https://docs.python.org/3/library/stdtypes.html
str.find(sub[, start])
Return the lowest index in the string where substring sub is found within the slice s. Optional arguments start and end are interpreted as in slice notation. Return -1 if sub is not found.

Те это условие выполняется пока запрещенное слово есть в тексте.