
Зробіть так, щоб програма працювала result = [] def divider(a, b): if a < b: raise ValueError
if b > 100: raise IndexError return a/b data = {10: 2, 2: 5, "123": 4, 18: 0, []: 15, 8 : 4} for key in data: res = divider(key, data[kem]) result.append(res) print(result)

Ответы на вопрос

Ответ:
result = []
def divider(a, b):
if a < b:
raise ValueError
if b > 100:
raise IndexError
return a/b
data = {10: 2, 2: 5, "123": 4, 18: 0, []: 15, 8 : 4}
for key in data:
try:
res = divider(key, data[key])
result.append(res)
except Exception as err:
print(type(err))
print(result)



Щоб програма працювала, зробіть наступні зміни:
Виправте помилку в рядку
res = divider(key, data[kem])
, використовуючи правильне ім'я ключаkey
замість невірно введеногоkem
.Обережно обробляйте помилки, які можуть виникнути при виконанні функції
divider
. Замість того, щоб піднімати помилкуValueError
дляa < b
, використайте конструкціюtry-except
для перехоплення помилки і додайтеNone
до спискуresult
. Якщо ви бажаєте викидатиValueError
, замістьNone
, можна використовуватиraise ValueError("a < b")
.Додайте обробку помилки
TypeError
, коли ключ або значення в словникуdata
не можуть бути використані як аргументи для функціїdivider
. Знову ж таки, додайтеNone
до спискуresult
у випадку виникнення помилки.Замість
IndexError
для перевіркиb > 100
, я змінив її наValueError
, аналогічно до перевіркиa < b
.
Ось оновлений код:
pythonresult = []
def divider(a, b):
if a < b:
raise ValueError("a < b")
if b > 100:
raise ValueError("b > 100")
return a / b
data = {10: 2, 2: 5, "123": 4, 18: 0, []: 15, 8: 4}
for key in data:
try:
res = divider(key, data[key])
except (ValueError, TypeError):
res = None
result.append(res)
print(result)
Цей код виконає ділення для кожного ключа та значення в словнику data
. Якщо виникнуть помилки ValueError
або TypeError
, результатом буде None
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili