
Що тут не правильно? (Python) 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)

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

нет такой переменной kem



У коді міститься кілька помилок:
Операція порівняння "a < b" в умові "if" має неправильний символ "<", який є HTML-кодом для символу "<". В Python потрібно використовувати символ "<" для порівняння.
Операція порівняння "b > 100" має неправильний символ ">", який є HTML-кодом для символу ">". В Python потрібно використовувати символ ">" для порівняння.
В рядку
res = divider(key, data[kem])
використовано неправильну змінну "kem" замість "key". Потрібно змінити наres = divider(key, data[key])
.У словнику
data
використовано пустий список[]
як ключ, що не допустимо. Ключі словника повинні бути хешируєми, тому потрібно використати допустимий тип даних, наприклад, рядок чи кортеж.
Ось виправлений код:
pythonresult = []
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, 'key': 15, 8: 4}
for key in data:
res = divider(key, data[key])
result.append(res)
print(result)
Виправлено помилки з порівняннями та ключами словника, тому код тепер повинен працювати належним чином.


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







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