Выдаёт не то что нужно

Вот мой код:

block = ['fox', 'dog', 'rat']

def censorship(str_, words):
    global censoring
    for word in words:
        if str_ in word:
            censoring = 'true'
    censoring = 'false'
    print(censoring)

text = 'My son likes to play with our dog'

censorship(text, block)

при запуске выдаёт:

false

а должен:

true

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

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

При выполнении вашего кода то, что внутри цикла не важно вообще, вы потом результат перезаписываете. Нужно как-то сделать ветвление выставления результата, например так:

    for word in words:
        if word in str_:
            censoring = 'true'
            break
    else:
        censoring = 'false'

Ну и само сравнение скорее всего наоборот нужно написать.

→ Ссылка