Задача - проверить, содержит ли предложение все буквы алфавита. Таким образом, хотя вы можете определить, что не случай (то есть return false
), когда вы найдете первую букву, которой нет в предложении, вы не можете утверждать обратное (то есть * 1008) *) пока вы не проверили все буквы.
def is_pangram(sentence):
alf = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
sentence = sentence.lower()
for x in alf:
if x not in sentence:
return False
return True
Приложение : Существует также python - только малоизвестная и редко используемая for/else
языковая функция см. Документы : * У циклов 1020 * может быть предложение else
, которое вызывается, когда l oop выходит "нормально" (то есть без остановки рано из-за break
, return
или исключения). Это делает следующий код жизнеспособной альтернативой. Обратите внимание на различные отступы в предложении else
по сравнению с кодом OP.
def is_pangram(sentence):
alf = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
sentence = sentence.lower()
for x in alf:
if x not in sentence:
return False
else:
return True