Задача 2. Грубая математика

В одном аналитическом центре, где занимаются разного рода математическим анализом, работал практикант, который написал программу для расчёта некоторых функций. Правда, он в тот день очень устал и немного не так прочитал техническое задание и функции теперь рассчитываются довольно грубо.

Вводится последовательность из 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

Решение:

# Переменные log_x и exp_x только для того, чтобы не высчитывать дважды

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


1940login-checkЗадача 2. Грубая математика

Добавить комментарий