Зробіть так, щоб програма працювала 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
