Уровни критичности багов: решение задачи на Python
В разработке ПО часто используется пятиуровневая система классификации дефектов: «Блокирующий», «Критический», «Значительный», «Незначительный» и «Тривиальный». Задача - определить количество уровней и вывести последний (тривиальный) элемент списка.
Почему код не проходит проверку?
В вашем решении используется фиксированный индекс severity_list[4]. Это работает для данного конкретного списка, но не универсально. Если количество уровней изменится, код сломается. Требуется использовать переменную severity_len, которая динамически определяет длину списка.
Правильное решение
Чтобы получить последний элемент, нужно использовать индекс severity_len - 1, так как индексация в Python начинается с нуля. Вот корректный код:
severity_list = ['Блокирующий', 'Критический', 'Значительный', 'Незначительный', 'Тривиальный']
severity_len = len(severity_list)
print('Уровень критичности бага: ' + severity_list[severity_len - 1])Результат выполнения: Уровень критичности бага: Тривиальный
Объяснение ключевых моментов
- len() - возвращает количество элементов в списке (в данном случае 5).
- Индексация от 0: первый элемент имеет индекс 0, последний -
len - 1. - Динамический подход: используя
severity_len - 1, вы всегда получите последний элемент, даже если список изменится.
Альтернативный способ
В Python можно получить последний элемент списка с помощью отрицательного индекса [-1], но по условию задачи нужно использовать переменную severity_len.
Частые ошибки новичков
- Использование константного индекса вместо вычисляемого.
- Забывание вычесть единицу при обращении к последнему элементу через длину списка.
- Попытка обратиться к элементу по индексу, равному длине списка - это вызывает ошибку
IndexError.
Теперь вы знаете, как правильно вывести последний уровень критичности бага, используя len() и динамический индекс. Этот приём пригодится при работе с любыми списками в Python.