Skip to content

Python: Пограничные случаи. Немного нелогичные условия #334

@MaratSafiullinYabble

Description

@MaratSafiullinYabble

Решение учителя выглядит так:

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

Это мелочь, но об нее вполне можно споткнуться.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions