В Python число Pi не верно, так как имеет погрешность числа float. Из-за этого цифры после запятой на позиции 10й начинают отличатся от настоящего числа Pi.
Как это решить? Есть ли способ получить верное число Pi, хотя бы до 100й цифры после запятой?
Python
Как исправить число Pi? :)
Это ограничение не языка Python, а способа хранения/обработки вещественных чисел в компьютере. Используя стандартные вещественные числа, точность никак не увеличить. Так что единственный возможный способ - использовать модуль вычислений с произвольной точностью: https:// metanit.com/python/tutorial/6.4.php
Но это медленно.
Материалов же по теме "вычисление числа pi с произвольной точностью" в интернете полно - достаточно спросить у Гугла.
Но это медленно.
Материалов же по теме "вычисление числа pi с произвольной точностью" в интернете полно - достаточно спросить у Гугла.
Вычисляй сам. Проблем то...
Новейшая и самая точная формула вычисления N-го знака числа Пи без вычисления предыдущих изобретена в 1995 году.
Вот тут даже пример программы есть:
https://habr.com/ru/post/179829/
Новейшая и самая точная формула вычисления N-го знака числа Пи без вычисления предыдущих изобретена в 1995 году.
Вот тут даже пример программы есть:
https://habr.com/ru/post/179829/
-Однако, Сир, Вы рассказываете сказки! Числа float в Пайтоне стандартные восьмибайтные и уже поэтому число π представлено как минимум пяднадцатью правильными десятичными знаками после запятой. Например, директива
import math; print(math.pi)
выдаст такое значение:
3.1415926535897931
Если надо сто цифр после запятой, то можно, скажем, так:
import fractions
π=fractions.Fraction('3.141592653589793\
2384626433832795...')
Вместо троеточия - цифры до сотой после запятой. Объекты класса fractions можно складывать, вычитать, умножать, делить, сравнивать и превращать в другие типы (например, в тип decimal.Decimal). А если надо производить над π функциональные операции, то и функции можно сделать рационально-дробными или же, допустим, того же типа decimal.Decimal.
P.S.А вычисление числа π - это, наверно, идиотская шутка или просто издевательство. Зачем его вычислять, когда уже готовое значение можно взять из Википедии ?
import math; print(math.pi)
выдаст такое значение:
3.1415926535897931
Если надо сто цифр после запятой, то можно, скажем, так:
import fractions
π=fractions.Fraction('3.141592653589793\
2384626433832795...')
Вместо троеточия - цифры до сотой после запятой. Объекты класса fractions можно складывать, вычитать, умножать, делить, сравнивать и превращать в другие типы (например, в тип decimal.Decimal). А если надо производить над π функциональные операции, то и функции можно сделать рационально-дробными или же, допустим, того же типа decimal.Decimal.
P.S.А вычисление числа π - это, наверно, идиотская шутка или просто издевательство. Зачем его вычислять, когда уже готовое значение можно взять из Википедии ?
Способа "получить верное число Pi" нет.
Получить приближение "хотя бы до 100й цифры после запятой" можно. Хотя бы нагуглив. При вычислениях не использовать float, использовать Decimal.
ЗЫ. А где такая точность нужна, если не секрет?
Получить приближение "хотя бы до 100й цифры после запятой" можно. Хотя бы нагуглив. При вычислениях не использовать float, использовать Decimal.
ЗЫ. А где такая точность нужна, если не секрет?
Лебедев Александр
В задачке) Нужна функция, которая принимает int n и выдает цифру на n-й позиции после запятой
import math
print(math.pi)
print(math.pi)
Похожие вопросы
- Python задача "Игра с числами"
- Задача 10. Игра «Компьютер угадывает число» язык кода Python помогите пожалуйста
- Программа на Python, Простые Числа
- Напишите код по перебору числа на Python.
- Дружественные числа Python
- В компании используется генератор паролей, который создаёт пароли, состоящие из двух четырехзначных чисел,
- Задача по Python: Найти сумму чисел и при вводе чисел...
- Python - вопрос по всем возможным комбинациям из 3-х чисел Подскажите, пожалуйста! Есть другие способы, кроме моего?
- Родители Лизы подключили пакет, содержащий N телевизионных каналов, пронумерованных числами от 1 до N
- Простые числа.Напишите программу