Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/120: Рейтинг темы: голосов - 120, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83

периметр треугольника

18.01.2018, 02:13. Показов 23840. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пжл., найти ошибку и завершить программу.

Даны координаты трех точек - вершин треугольника. Нужно найти периметр треугольника.
Нужно написать функцию, которая находит расстояние между двумя точками. Следующий шаг: написать программу, к-я находит периметр треугольника по координатам трех вершин.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def dist(x1, y1, x2, y2, x3, y3):
    dist1 = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2)
    dist2 = ((x3 - x1) ** 2 + (y3 - y1) ** 2) ** (1 / 2)
    dist3 = ((x2 - x3) ** 2 + (y2 - y3) ** 2) ** (1 / 2)
    return dist1, dist2, dist3
 
 
print(dist(float(input()), float(input()), float(input()), float(input()), float(input()), float(input())))
 
 
def perim(dist1, dist2, dist3):
    perimetr = dist1 + dist2 + dist3
    return perimetr
не получается вывести периметр.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2018, 02:13
Ответы с готовыми решениями:

Периметр треугольника
По данным координатами вершин треугольника на плоскости вычислить его периметр. Координаты вводятся вручную с клавиатуры.

Вычислить площадь и периметр треугольника
Добрый день! возник глупый вопрос, по python Math с питоном дружу не так давно, потому появилась проблема с его синтаксисом. Вот есть...

Периметр и площадь треугольника по координатам вершин
Помогите, пожалуйста программа должна находить периметр и площадь треугольника по координатам вершин, первая лаба, не могу найти свою...

9
97 / 97 / 38
Регистрация: 30.11.2017
Сообщений: 180
18.01.2018, 02:31
Так
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def dist(x1, y1, x2, y2, x3, y3):
    dist1 = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2)
    dist2 = ((x3 - x1) ** 2 + (y3 - y1) ** 2) ** (1 / 2)
    dist3 = ((x2 - x3) ** 2 + (y2 - y3) ** 2) ** (1 / 2)
    return dist1, dist2, dist3
 
dists = dist(float(input()), float(input()), float(input()), float(input()), float(input()), float(input()))
 
 
def perim(dist1, dist2, dist3):
    perimetr = dist1 + dist2 + dist3
    return perimetr
    
print(perim(dists[0], dists[1], dists[2]))
1
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
18.01.2018, 08:48  [ТС]
не считает
Python
1
2
3
4
5
 print(perim(dist[0], dist[1], dist[2]))
TypeError: 'function' object is not subscriptable
(2.23606797749979, 2.0, 4.123105625617661)
 
Process finished with exit code 1
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
18.01.2018, 09:26
Армине, кортеж называется dists, а не dist.
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
18.01.2018, 09:40  [ТС]
тоже пробовала

Python
1
2
print(perim(dists[0], dists[1], dists[2]))
NameError: name 'dists' is not defined
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
18.01.2018, 10:08
Армине, покажи полный код (свой, хотя решение и приведено во втором посте).
0
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
18.01.2018, 10:45  [ТС]
это и есть полный код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def dist(x1, y1, x2, y2, x3, y3):
      dist1 = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2)
      dist2 = ((x3 - x1) ** 2 + (y3 - y1) ** 2) ** (1 / 2)
      dist3 = ((x2 - x3) ** 2 + (y2 - y3) ** 2) ** (1 / 2)
      return dist1, dist2, dist3
 
dists = dist(float(input()), float(input()), float(input()), float(input()), float(input()), float(input()))
 
def perim(dist1, dist2, dist3):
      perimetr = dist1 + dist2 + dist3
      return perimetr
 
print(perim(dists[0], dists[1], dists[2]))
только строка
Python
1
dists = dist(float(input()), float(input()), float(input()), float(input()), float(input()), float(input()))
лишняя. это для проверки, что работает первая часть. А в результате должны получить только одно число

Python
1
2
3
4
5
def dist(x1, y1, x2, y2, x3, y3):
      dist1 = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2)
      dist2 = ((x3 - x1) ** 2 + (y3 - y1) ** 2) ** (1 / 2)
      dist3 = ((x2 - x3) ** 2 + (y2 - y3) ** 2) ** (1 / 2)
      return dist1, dist2, dist3
здесь вычисляются расстояния между точками. Никакого вывода результатов

Python
1
2
3
def perim(dist1, dist2, dist3):
      perimetr = dist1 + dist2 + dist3
      return perimetr
теперь результаты первой функции нужно использовать для вывода периметра треугольника. Ответ - только периметр треугольника. Координаты точек задаются произвольно через
Python
1
float(input())
.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
18.01.2018, 11:16
Цитата Сообщение от Армине Посмотреть сообщение
только строка
Python
1
dists = dist(float(input()), float(input()), float(input()), float(input()), float(input()), float(input()))
лишняя
Нормально так. Взять и строчку с вводом данных и определением переменной для дальнейших вычислений назвать лишней.
0
97 / 97 / 38
Регистрация: 30.11.2017
Сообщений: 180
18.01.2018, 11:38
Оезультат
Миниатюры
периметр треугольника  
1
0 / 0 / 0
Регистрация: 27.08.2016
Сообщений: 83
18.01.2018, 15:54  [ТС]
работает, спасибо.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def dist(x1, y1, x2, y2, x3, y3):
    dist1 = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2)
    dist2 = ((x3 - x1) ** 2 + (y3 - y1) ** 2) ** (1 / 2)
    dist3 = ((x2 - x3) ** 2 + (y2 - y3) ** 2) ** (1 / 2)
    return dist1, dist2, dist3
 
 
def perim(dist1, dist2, dist3):
    perimetr = dist1 + dist2 + dist3
    return perimetr
 
 
dists = dist(float(input()), float(input()), float(input()), float(input()), float(input()), float(input()))
print(perim(dists[0], dists[1], dists[2]))
А как можно предпоследнюю строку разбить на две? Строка слишком длинная для теста.

Python
1
2
Precompile check failed:
/solution//solution.py:13:77: E502 the backslash is redundant between brackets
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2018, 15:54
Помогаю со студенческими работами здесь

Найти площадь и периметр треугольника по координатам его вершин
2. По координатам трех вершин некоторого треугольника найти его площадь и периметр

Найти периметр и площадь треугольника, заданного координатами его вершин.
а можешь мне тоже помочь? Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь Var ...

Вычислить по заданной стороне равностороннего треугольника его периметр и площадь
Описать процедуру TrianglePS (a, P, S), вычисляющую по стороне а равностороннего треугольника его периметр Р и площадь S. (а – входной, P и...

Наибольший периметр треугольника, который можно образовать с помощью 3 отрезков заданных длин
Дан массив A из положительных чисел, обозначающих длины отрезков. Верните наибольший периметр треугольника, который можно образовать с...

Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь, используя форм
Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь, используя формулу для расстояния...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru