Модуль: (Python) Вещественные числа


4. Ввод и вывод вещественных чисел

☰ Теория

Ввод

Для того, чтобы ввести вещественное число с помощью функции input() - необходимо преобразовать символьную строку, которая является результатом работы функции input(), в вещественное число с помощью функции float():
x = float(input())
Если необходимо ввести сразу несколько значений из одной строке, то используем тот же способ, что и для целых чисел:
x, y = map(float, input().split())

 

Вывод

При выводе вещественных чисел по умолчанию выводится 16 знаков после запятой. Не всегда такой формат необходим. Если нужно сократить формат вывода, то используется форматный вывод или F-строки.


Форматный вывод
Для этого применяется метод format() к строке, которую мы хотим вывести. А внутри строки записываются форматы в фигурных скобках после двоеточия. В круглых скобках функции format(), указываются имена переменных (или константы), значения которых будут подставляться в строку вместо фигурных скобок в указанном формате. Количество переменных должно совпадать с количеством фигурных скобок. Данный способ работает в Python, начиная с версии 3.
 
Пример
Пример Пояснение Вывод на экране
x = 1 / 6 
print("{:f}".format(x))
формат :f выводит по умолчанию 6 цифр  в дробной части
0.166667
x = 1 / 6 
print("{:.3f}".format(x))
:.3 обозначает, что необходимо вывести 3 знака после точки
0.167
x = 1 / 6 
print("{:12.4e}".format(x))
:12.4 - первое число (12) задает  общее количество позиций на вывод числа (включая точку);
второе число (4) - количество цифр в дробной части;
формат e - выводит число в научном формате.
  1.6667e-01
x = 123.45678901234567
print("{:.6g}".format(x)) 

{:.6g} - форматирует число так, чтобы оставить не более шести значащих цифр, и автоматически округляет число.

123.457
 


F-строка 
Еще один способ вывести на экран отформатированную строку - это использование f-строк (f-string). Данный способ доступен в Python, начиная с версии 3.6.
print(f"{x:f}")
print(f"{x:.3f}")
print(f"{x:12.4e}") 
F-строка - это строка-шаблон, начинается с символа (или F). Каждый раз когда мы хотим вставить в строку значение какой-либо переменной, нам нужно добавить  имя переменной, заключенной в фигурные скобки {}. Внутри фигурных скобок можно указать способ форматирования, который аналогичен методу fomat().


Кроме метода format() и F-строк, можно использовать другие способы форматирования вывода. Тот же самый результат получим, записав операторы вывода следующим образом:
print("%f" % (x))
print("%.3f" % (x))
print("%12.4e" % (x))
Такой способ форматирования имитирует функцию printf() языка С. Способ считается устаревшим, но в ряде случаев он бывает удобнее. Кроме этого, данный способ единственный (из указанных здесь), который работает в Python версии 2.5 и ниже.

Выполните задания по порядку:
1. В третьей строке оформите вывод переменной y с помощью форматного вывода, с количеством знаков в дробной части по умолчанию (см. теорию!).
2. В четвертой строке оформите вывод переменной y, чтобы выводилось все число в 10 позициях, при этом на дробную часть отводилось 4 знака.
3. В пятой строке оформите вывод переменной y, чтобы число выводилось в научном формате с тремя цифрами в дробной части.

Вставьте недостающие фрагменты кода
Python
1
y = 1/2 + 1/3 + 1/4 + 1/5                
2
print(y)                 
3
4
5