кодесурса
«Python

Python Math: преобразовать число с плавающей запятой в приблизительное рациональное значение

script1adsense2code
script1adsense3code

Python Math: Упражнение 47 с решением

Напишите программу на Python для преобразования числа с плавающей запятой (PI) в приблизительное рациональное значение для различного знаменателя.

Примечание: max_denominator = 1000000

Пример решения : -

Код Python:

import fractions
import math
print('PI       =', math.pi)
f_pi = fractions.Fraction(str(math.pi))
print('No limit =', f_pi)
for d in [1, 5,  50, 90, 100, 500, 1000000]:
    limited = f_pi.limit_denominator(d)
    print('{0:8} = {1}'.format(d, limited))

Пример вывода:

 PI = 3.141592653589793                                                                                
Без ограничений = 3141592653589793/1000000000000000                                                                
       1 = 3                                                                                                
       5 = 16/5                                                                                             
      50 = 22/7                                                                                             
      90 = 267/85                                                                                           
     100 = 311/99                                                                                           
     500 = 355/113                                                                                          
 1000000 = 3126535/995207
 

Блок - схема:

«Блок-схема:

Редактор кода Python:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу на Python для сложения, вычитания, умножения и деления двух дробей.
Далее: Напишите программу на Python для генерации случайных чисел с плавающей точкой в определенном числовом диапазоне.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code