- Решение модуля 6.1 из курса «Поколение python» stepik
- Действительные числа
- Библиотека math
- A: Дробная часть
- B: Первая цифра после точки
- C: Округление по российским правилам
- D: Площадь треугольника
- E: Часы — 1
- N: ln 2
- O: Геометрическая прогрессия
- P: Просто π
- Q: Экспонента
- R: Косинус
- S: Сумма с корнями
- T: Схема Горнера
- U: Система линейных уравнений — 1
- V*: Система линейных уравнений — 2
Решение модуля 6.1 из курса «Поколение python» stepik
Авторское решение модуля 6.1 курса «Поколение Python: курс для начинающих» с сайта stepik.org от авторов zazlo.ru.
В ходе этого урока обучающийся должен узнать как пользоваться функциями int(), min(), max(), float(), abs() и понять в целом принцип работы с различными числовыми значениями путем решения соответствующих задач.
Площадь треугольника
Напишите программу, которая считывает длины двух катетов в прямоугольном треугольнике и выводит его площадь.
Формат входных данных
На вход программе подаётся два числа с плавающей точкой – длины катетов, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести одно число – площадь треугольника.
Два автомобиля едут навстречу друг другу с постоянными скоростями V_1V1 и V_2V2 км/ч. Определите, через какое время автомобили встретятся, если расстояние между ними равно SS км.
Формат входных данных
На вход программе подаются три числа с плавающей точкой S, \, V_1, \, V_2S,V1,V2, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести одно число в соответствии с условием задачи.
Напишите программу, которая считывает с клавиатуры одно число и выводит обратное ему. Если при этом введённое с клавиатуры число – ноль, то вывести «Обратного числа не существует» (без кавычек).
Формат входных данных
На вход программе подается одно действительное число.
Формат выходных данных
Программа должна вывести действительное число обратное данному, либо текст в соответствии с условием задачи.
451 градус по Фаренгейту
У известного американского писателя Рэя Бредбери есть роман «451 градус по Фаренгейту». Напишите программу, которая определяет, какой температуре по шкале Цельсия соответствует указанное значение по шкале Фаренгейта.
Используйте формулу для перевода: C = \dfrac<5><9>\left(F — 32\right)C=95(F− 32).
Формат входных данных
На вход программе подаётся вещественное число градусов по шкале Фаренгейта.
Формат выходных данных
Программа должна вывести число градусов по шкале Цельсия.
На вход программе подается число nn – количество собачьих лет. Напишите программу, которая вычисляет возраст собаки в человеческих годах.
Формат входных данных
На вход программе подаётся натуральное число – количество собачьих лет.
Формат выходных данных
Программа должна вывести возраст собаки в человеческих годах.
Примечание. В течение первых двух лет собачий год равен 10.510.5 человеческим годам. После этого каждый год собаки равен 4 человеческим годам.
Первая цифра после точки
Дано положительное действительное число. Выведите его первую цифру после десятичной точки.
Формат входных данных
На вход программе подается положительное действительное число.
Формат выходных данных
Программа должна вывести цифру в соответствии с условием задачи.
Дано положительное действительное число. Выведите его дробную часть.
Формат входных данных
На вход программе подается положительное действительное число.
Формат выходных данных
Программа должна вывести дробную часть числа в соответствии с условием задачи.
Вопрос: Какое число будет выведено на экран в результате выполнения следующего кода?
Ответ: 16
Наибольшее и наименьшее
Напишите программу, которая находит наименьшее и наибольшее из пяти чисел.
Формат входных данных
На вход программе подается пять целых чисел, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести наименьшее и наибольшее число с поясняющей надписью.
Напишите программу, которая упорядочивает три числа от большего к меньшему.
Формат входных данных
На вход программе подается три целых числа, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести три числа, каждое на отдельной строке, упорядоченных от большего к меньшему.
Назовем число интересным, если в нем разность максимальной и минимальной цифры равняется средней по величине цифре. Напишите программу, которая определяет интересное число или нет. Если число интересное, следует вывести – «Число интересное» иначе «Число неинтересное».
Формат входных данных
На вход программе подается целое трехзначное число.
Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.
Даны пять чисел a_1, \, a_2, \, a_3, \, a_4, \, a_5a1,a2,a3,a4,a5. Напишите программу, которая вычисляет сумму их модулей |a_1| + |a_2| +|a_3| +|a_4| + |a_5|∣a1∣+ ∣a2∣+∣a3∣+∣a4∣+ ∣a5∣.
Формат входных данных
На вход программе подается пять действительных чисел a_1, \, a_2, \, a_3, \, a_4, \, a_5a1,a2,a3,a4,a5, каждое на отдельной строке.
Формат выходных данных
Программа должна вывести одно число – сумму модулей введёных чисел.
Манхэттенское расстояние
Прогуливаясь по Манхэттену, вы не можете попасть из точки А в точку Б по кратчайшему пути. Если только вы не умеете проходить сквозь стены, вам обязательно придется идти вдоль его параллельно-перпендикулярных улиц.
Напишите программу определяющую манхэттенское расстояние между двумя точками, координаты которых заданы.
Формат входных данных
На вход программе подается четыре целых числа, каждое на отдельной строке – p_<1>, \, p_<2>, \, q_<1>, \, q_<2>p1,p2,q1,q2.
Формат выходных данных
Программа должна вывести одно число – манхэттенское расстояние.
Источник
Действительные числа
В этом листочке речь пойдет о действительных числах, имеющих тип float .
Обратите внимание, что если вы хотите считать с клавиатуры действительное число, то результат, возращаемый функцией input() необходимо преобразовывать к типу float :
Действительные (вещественные) числа представляются в виде чисел с десятичной точкой (а не запятой, как принято при записи десятичных дробей в русский текстах). Для записи очень больших или очень маленьких по модулю чисел используется так называемая запись “с плавающей точкой” (также называемая “научная” запись). В этом случае число представляется в виде некоторой десятичной дроби, называемой мантиссой, умноженной на целочисленную степень десяти (порядок). Например, расстояние от Земли до Солнца равно 1.496·10 11 , а масса молекулы воды 2.99·10 -23 .
Числа с плавающей точкой в программах на языке Питон, а также при вводе и выводе записавыются в виде мантиссы, затем пишется буква e , затем пишется порядок. Пробелы внутри этой записи не ставятся. Например, указанные выше константы можно записать в виде 1.496e11 и 2.99e-23 . Перед самим числом также может стоять знак минус.
Напомним, что результатом операции деления / всегда является действительное число, в то время как результатом операции // является целое число.
Преобразование действительных чисел к целому производится с округлением в сторону нуля, то есть int(1.7) == 1 , int(-1.7) == -1 .
Библиотека math
Для проведения вычислений с действительными числами язык Питон содержит много дополнительных функций, собранных в библиотеку (модуль), которая называется math .
Для использования этих функций в начале программы необходимо подключить математическую библиотеку, что делается командой
Функция от одного аргумента вызывается, например, так: math.sin(x) (то есть явно указывается, что из модуля math используется функция sin ). Вместо числа x может быть любое число, переменная или выражение. Функция возращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:
Другой способ использовать функции из библиотеки math , при котором не нужно будет при каждом использовании функции из модуля math указывать название этого модуля, выглядит так:
Ниже приведен список основных функций модуля math . Более подробное описание этих функций можно найти на сайте с документацией на Питон.
Некоторые из перечисленных функций ( int , round , abs ) являются стандартными и не требуют подключения модуля math для использования.
Функция | Описание |
---|---|
Округление | |
int(x) | Округляет число в сторону нуля. Это стандартная функция, для ее использования не нужно подключать модуль math . |
round(x) | Округляет число до ближайшего целого. Если дробная часть числа равна 0.5, то число округляется до ближайшего четного числа. Функция round(x, n) округляет число x до n знаков после точки. Это стандартная функция, для ее использования не нужно подключать модуль math . |
floor(x) | Округляет число вниз (“пол”), при этом floor(1.5) == 1 , floor(-1.5) == -2 |
ceil(x) | Округляет число вверх (“потолок”), при этом ceil(1.5) == 2 , ceil(-1.5) == -1 |
trunc(x) | Округление в сторону нуля (так же, как функция int ). |
abs(x) | Модуль (абсолютная величина). Это — стандартная функция. |
fabs(x) | Модуль (абсолютная величина). Эта функция всегда возвращает значение типа float . |
Корни, степени, логарифмы | |
sqrt(x) | Квадратный корень. Использование: sqrt(x) |
pow(a, b) | Возведение в степень, возвращает a b . Использование: pow(a,b) |
exp(x) | Экспонента, возвращает e x . Использование: exp(x) |
log(x) | Натуральный логарифм. При вызове в виде log(x, b) возвращает логарифм по основанию b . |
log10(x) | Десятичный логарифм |
e | Основание натуральных логарифмов \(e\approx2<,>71828. \). |
Тригонометрия | sin(x) | Синус угла, задаваемого в радианах |
cos(x) | Косинус угла, задаваемого в радианах |
tan(x) | Тангенс угла, задаваемого в радианах |
asin(x) | Арксинус, возвращает значение в радианах |
acos(x) | Арккосинус, возвращает значение в радианах |
atan(x) | Арктангенс, возвращает значение в радианах |
Полярный угол (в радианах) точки с координатами (x, y). | |
Длина гипотенузы прямоугольного треугольника с катетами a и b. | |
degrees(x) | Преобразует угол, заданный в радианах, в градусы. |
radians(x) | Преобразует угол, заданный в градусах, в радианы. |
pi | Константа π |
A: Дробная часть
Дано положительное действительное число X. Выведите его дробную часть.
Ввод | Вывод |
---|
B: Первая цифра после точки
Дано положительное действительное число X. Выведите его первую цифру после десятичной точки. При решении этой задачи нельзя пользоваться условной инструкцией и циклом.
Ввод | Вывод |
---|
C: Округление по российским правилам
По российский правилам числа округляются до ближайшего целого числа, а если дробная часть числа равна 0.5, то число округляется вверх.
Дано неотрицательное число x , округлите его по этим правилам. Обратите внимание, что функция round не годится для этой задачи!
Ввод | Вывод |
---|
D: Площадь треугольника
Даны длины сторон треугольника. Вычислите площадь треугольника.
Ввод | Вывод |
---|
E: Часы — 1
С начала суток прошло \(H\) часов, \(M\) минут, \(S\) секунд (\(0\le H 2 /6
По данному числу n вычислите сумму \(1+\frac<1><2^2>+\frac<1><3^2>+. +\frac<1>
Ввод | Вывод |
---|
Знаете ли вы, что этот ряд сходится к \(\pi^2/6\)?
N: ln 2
По данному числу n вычислите сумму \(1-\frac12+\frac13-\frac14++. +\frac<(-1)^
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n). Попробуйте также обойтись без использования инструкции if.
Ввод | Вывод |
---|
Этот ряд сходится к значению ln 2.
O: Геометрическая прогрессия
Забудьте формулу суммы геометрической прогрессии и вычислите сумму \(1+x+x^2+. +x^n\).
Программа получает на вход целое число n и действительное число x. Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n) (то есть должен содержать только один цикл).
Ввод | Вывод |
---|
P: Просто π
По данному числу n вычислите сумму \( 4\left(1-\frac13+\frac15-\frac17+. +\frac<(-1)^n><2n+1>\right)\)
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).
Ввод | Вывод |
---|
Этот ряд сходится к числу \(\pi\).
Q: Экспонента
По данному целому числу n и действительному числу x вычислите сумму \( 1+\frac
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).
Ввод | Вывод |
---|
Этот ряд сходится к \(e^x\) при росте \(n\).
R: Косинус
По данному целому числу n и действительному числу x вычислите сумму \( 1-\frac
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).
Ввод | Вывод |
---|
Этот ряд сходится к \(\cos x\) при росте \(n\) (углы измеряются в радианах).
S: Сумма с корнями
По данным натуральным числам n и a вычислите сумму \[ \sqrt> > > \]
Ввод | Вывод |
---|
T: Схема Горнера
Дан многочлен \(P(x)=a_nx^n+a_
Сначала программе подается на вход целое неотрицательное число \(n\le20\), затем действительное число \(x\), затем следует \(n+1\) вещественное число — коэффициенты многочлена от старшего к младшему. Программа должна вывести значение многочлена.
При решении этой задачи нелья использовать массивы и операцию возведения в степень. Программа должна иметь сложность O(n).
Ввод | Вывод |
---|
U: Система линейных уравнений — 1
Даны числа \(a\), \(b\), \(c\), \(d\), \(e\), \(f\). Известно, что система линейных уравнений \[ \cases
имеет ровно одно решение. Выведите два числа \(x\) и \(y\), являющиеся решением этой системы.
Ввод | Вывод |
---|
V*: Система линейных уравнений — 2
Даны числа \(a\), \(b\), \(c\), \(d\), \(e\), \(f\). Решите систему линейных уравнений \[ \cases
Вывод программы зависит от вида решения этой системы.
Если система не имеет решений, то программа должна вывести единственное число 0 .
Если система имеет бесконечно много решений, каждое из которых имеет вид \(y=kx+b\), то программа должна вывести число 1 , а затем значения \(k\) и \(b\).
Если система имеет единственное решение \((x_0,y_0)\), то программа должна вывести число 2 , а затем значения \(x_0\) и \(y_0\).
Если система имеет бесконечно много решений вида \(x=x_0\), \(y\) — любое, то программа должна вывести число 3 , а затем значение \(x_0\).
Если система имеет бесконечно много решений вида \(y=y_0\), \(x\) — любое, то программа должна вывести число 4 , а затем значение \(y_0\).
Если любая пара чисел \((x,y)\) является решением, то программа должна вывести число 5 .
Источник