В одном центре математического анализа работал практикант, который написал программу для расчёта некоторых функций. Правда, он в тот день очень устал и немного не так прочитал техническое задание, поэтому функции теперь рассчитываются довольно грубо.
Программа работает следующим образом: вводится последовательность из N вещественных чисел. При этом положительные числа округляются вверх, отрицательные округляются вниз. Напишите программу, которая выводит натуральный логарифм от числа, если оно положительное, и экспоненту в степени числа, если оно отрицательное.
Пример:
Введите кол-во чисел: 3
Введите число: 1.3
x = 2 log(x) = 0.6931471805599453
Введите число: -2.1
x = -3 exp(x) = 0.049787068367863944
Введите число: -5.9
x = -6 exp(x) = 0.0024787521766663585
Что оценивается
Задание считается успешно выполненным, если:
- результат вывода соответствует условию, применяются корректные функции, округление осуществляется в нужную сторону, согласно условию;
- формат вывода соответствует примеру;
- input содержит корректное приглашение для ввода;
- вывод содержит описание результата (выведенные числа сопровождаются текстовым описанием).
Решение задачи
import math
end = int(input('Введите кол-во чисел: '))
for i in range (end):
number = float(input('Введите число: '))
if (number > 0):
log_x = math.ceil(number);
print('x =', log_x, '\tlog(x) =', math.log(log_x))
elif (number < 0):
exp_x = math.floor(number)
print('x =', exp_x, '\texp(x) =', math.exp(exp_x))
else:
print('0')