exercises-python
exercises-python copied to clipboard
Python: Пограничные случаи. Немного нелогичные условия
Решение учителя выглядит так:
def is_arguments_for_substr_correct(string, index, length):
if index < 0:
return False
elif length < 0:
return False
elif index > len(string) - 1:
return False
elif index + length > len(string):
return False
return True
Но если допустимая длина может быть ноль, то и индекс может совпадать с длиной строки. Вычисление подстроки только от этого не упадет. elif index > len(string):
И вообще это условие в таком виде оказывается лишним и можно переписать код как:
def is_arguments_for_substr_correct(string, index, length):
if index < 0:
return False
elif length < 0:
return False
elif index + length > len(string):
return False
return True
Это мелочь, но об нее вполне можно споткнуться.