Meacronacerhttps://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.
Те это условие выполняется пока запрещенное слово есть в тексте.