Это потому, что как только функция возвращает значение, оно заканчивается и не продолжается. Таким образом, как только он достигает заглавного символа (if is_capitalized(char)
), он возвращает True
и не проверяет остальные символы.
Вы можете воспользоваться этим и сразу же вернуть False, как только увидитенедопустимый символ, и если цикл for достигает конца, то вы знаете, что все ваши символы должны быть действительными (с большой буквы):
for i in range(len(s)):
char = s[i]
if not is_capitalized(char):
return False
return True