
Можете подсказать в чем ошибка выдает так: x1, x2, y1, y2 = int(input("x1, x2, y1, y2 = "))
ValueError: invalid literal for int() with base 10: '1 2 3 4' def rectangle_parameters(x1, y1, x2, y2, result): a = abs(x1 - x2) b = abs(y1 - y2) print("a = ", a) print("b = ", b) result['perimetr'] = 2 * (a + b) result['ploshad'] = a * b return x1, x2, y1, y2 = int(input("x1, x2, y1, y2 = ")) r = {'perimetr' : None, 'ploshad' : None} rectangle_parameters(x1, y1, x2, y2, r) print('Perimetr = ', r['perimetr']) print('Ploshad = ', r['ploshad'])

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

Ответ:
это ошибка:
x1, x2, y1, y2 = int(input("x1, x2, y1, y2 = "))
Объяснение:
так как ты тут задаешь 4 переменных, а инпут только один



Код, который вы предоставили, содержит несколько ошибок. Давайте разберём их.
1. Ошибка ввода данных: Ошибка возникает из-за неправильного ввода значений координат. Вы пытаетесь преобразовать строку "x1, x2, y1, y2" в целое число, что вызывает `ValueError`, так как строка содержит не только числа, но и запятые и пробелы.
2. Неправильное использование операторов в функции: - `a += abs(x1 - x2)` и `b += abs(y1 - y2)` - эти операторы предполагают, что переменные `a` и `b` уже определены. Однако, их необходимо определить перед выполнением этих операций. - `result['perimetr'] += 2 * (a + b)` и `result['ploshad'] += a * b` - аналогично, переменные `result['perimetr']` и `result['ploshad']` должны быть инициализированы перед выполнением этих операций.
3. Неправильный вызов функции: Вызов функции `rectangle_parameters()` также содержит ошибку в передаче аргументов. Порядок аргументов должен быть `x1, y1, x2, y2`, но у вас он `x1, y1, x2, y2`. Кроме того, в функции используется неявное создание переменных `a` и `b`, что также вызовет ошибку.
Исправленный код должен выглядеть примерно так:
```python def rectangle_parameters(x1, y1, x2, y2): a = abs(x1 - x2) b = abs(y1 - y2) result = {'perimetr': None, 'ploshad': None} result['perimetr'] = 2 * (a + b) result['ploshad'] = a * b return result
# Ввод координат x1, y1, x2, y2 = map(int, input("Введите x1, y1, x2, y2 через пробел: ").split())
r = rectangle_parameters(x1, y1, x2, y2) print('Периметр:', r['perimetr']) print('Площадь:', r['ploshad']) ```
Этот исправленный код предложит пользователю ввести координаты точек и затем выведет периметр и площадь прямоугольника с этими координатами.


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