Третья задача была довольно простой, если проявить внимательность.
Код задачи:
distance = {"home_school": 3, "school_shop": 2, "shop_home": 1}
speed = {"runing": 15, "jogging": 10, "walking": 5, "crawling": 3}
time = (
distance.get("home_school", 0) / speed.get("jogging", 0)
+ distance.get("school_shop", 0) / speed.get("running", 0)
+ distance.get("shop_home", 0) / speed.get("walking", 0)
)
print(time)
Разбор задачи. Вся суть задачи сводится к пониманию работы метода .get() у словарей. Дело в том, что метод принимает один обязательный элемент - ключ, по которому ищет значение в словаре, и стандартное значение, которое возвращает, если ключ не был найден. Если стандартное значение не указано, возвращается None.
Первым на ошибку указал в комментариях - MAG.
Если внимательно пройтись по операторам в переменной time и ключам словаря, станет очевидно, что в словаре speed нет ключа running, а есть runing. Поэтому метод .get() вернёт установленное стандартное значение - 0.
Получается, что в одной из частей выражения мы делим на ноль, в связи с чем получаем ошибку DivisionByZero.
· 19.06.2024
Guys, копипаста из телеграмм канала не должна копировать на таком уровне)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 19.06.2024
А для чего тогда телепорт в сетку?) Есть инструмент, есть и применение
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён