🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Напишите программу, которая вычисляет площадь треугольника по трём его сторонам, используя формулу Герона.
Формула Герона выглядит так:

где a, b, c — длины сторон треугольника, а p — его полупериметр, который вычисляется по формуле:
p=(a+b+c)/2
Одна строка, содержащая три числа (длины сторон треугольника a, b и c), разделенные пробелами. Числа могут быть целыми или дробными.
Одно число — площадь треугольника. Результат может быть дробным числом.
3 4 5
6.0
В Python есть удобная возможность считать несколько переменных за один вызов input(). Это особенно полезно в задачах, где данные подаются в одной строке, разделенные каким-либо символом (чаще всего пробелом).
Как это работает:
input() считывает всю строку целиком, например "20 30"..split() "разрезает" эту строку по указанному разделителю (по умолчанию — по пробелу) и создает список из строк: ['20', '30'].map(int, ...) применяет функцию int (преобразование в целое число) к каждому элементу этого списка. В результате получается специальный map-объект.a и b.Пример: Ввод:
20 30
Считываем:
a, b = map(int, input().split()) # можно использовать float, если нужны дробные числа
print(a, b) # выведет 20 30
print(type(a)) # выведет <class 'int'>
Полезные советы:
20,30), укажите это в методе split(): input().split(',').= соответствует количеству значений в строке. Если они не совпадут, программа выдаст ошибку ValueError.В Python существует три различных оператора для деления, и каждый из них служит своей цели.
/ — Обычное (вещественное) деление Этот оператор всегда возвращает в результате дробное число (float), даже если числа делятся нацело.
a = 27
b = 10
print(a / 5) # выведет 5.4
print(b / 2) # выведет 5.0 (обратите внимание, не 5, а 5.0)
// — Целочисленное деление (деление нацело) Этот оператор выполняет деление и отбрасывает дробную часть, возвращая целое число (int). Он как бы отвечает на вопрос "сколько раз одно число целиком помещается в другом?".
a = 27
print(a // 5) # выведет 5 (потому что 5 помещается в 27 пять полных раз)
% — Остаток от деления (деление по модулю) Этот оператор возвращает то, что "осталось" после целочисленного деления.
a = 27
print(a % 5) # выведет 2
# Логика: ближайшее к 27 число, которое делится на 5 без остатка, это 25.
# Разница: 27 - 25 = 2.
Практическое применение %: Самое частое использование оператора % — это проверка на четность. Любое четное число делится на 2 без остатка, а нечетное — с остатком 1.
a = 27
b = 14
print(f"Число {a} нечетное? Остаток от деления на 2: {a % 2}") # выведет 1
print(f"Число {b} четное? Остаток от деления на 2: {b % 2}") # выведет 0
Для возведения числа в степень в Python используется оператор **.
a = 2
b = 3
print(a**3) # выведет 8 (2 в степени 3)
print(b**2) # выведет 9 (3 в степени 2)
Полезные советы:
0.5.
print(9**0.5) # выведет 3.0
pow(a, b), которая делает то же самое, что и a**b.
print(pow(2, 3)) # выведет 8
Функция print() выводит данные на экран. Просто складывать строки и переменные через + неудобно, так как числа нужно постоянно превращать в строки с помощью str(). Современный Python предлагает более изящные способы.
f-строки (f-strings) — рекомендуемый способ: Это самый современный, быстрый и читаемый способ. Перед строкой ставится буква f, а переменные или выражения указываются внутри фигурных скобок {}.
name = "Alice"
age = 30
print(f"Имя: {name}, Возраст: {age}")
# Вывод: Имя: Alice, Возраст: 30
Преимущество: можно прямо внутри скобок выполнять операции.
print(f"Через год ей будет {age + 1}")
# Вывод: Через год ей будет 31
Метод .format() — более старый, но все еще актуальный способ: В строке ставятся пустые фигурные скобки {}, а после строки вызывается метод .format(), в который передаются переменные.
name = "Alice"
age = 30
print("Имя: {}, Возраст: {}".format(name, age))
# Вывод: Имя: Alice, Возраст: 30
Полезные советы для print():
sep: По умолчанию print разделяет свои аргументы пробелом. Это можно изменить.
print(1, 2, 3, sep="-") # выведет 1-2-3
end: По умолчанию print после вывода добавляет перенос на новую строку \n. Это тоже можно изменить, чтобы следующие выводы print продолжались на той же строке.
print("Привет, ", end="")
print("мир!")
# Вывод будет в одну строку: Привет, мир!
# Считываем три стороны треугольника из одной строки
a, b, c = map(float, input().split())
# Вычисляем полупериметр (p)
p = (a + b + c) / 2
# Вычисляем площадь по формуле Герона
# Используем ** 0.5 для извлечения квадратного корня
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
# Выводим результат
print(area)
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...