Вопрос задан 16.11.2023 в 21:40. Предмет Информатика. Спрашивает Земсков Коля.

Можете подсказать в чем ошибка выдает так: 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'])
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шарыпова Ксения.

Ответ:

это ошибка:

x1, x2, y1, y2 = int(input("x1, x2, y1, y2 = "))

Объяснение:

так как ты тут задаешь 4 переменных, а инпут только один

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Код, который вы предоставили, содержит несколько ошибок. Давайте разберём их.

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']) ```

Этот исправленный код предложит пользователю ввести координаты точек и затем выведет периметр и площадь прямоугольника с этими координатами.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос