- Using Pi in Python (NumPy and Math)
- What is the Pi Constant?
- Get Pi in Python Using Math
- Get Pi in Python Using NumPy
- Should You Use NumPy or Math to Get Pi in Python?
- Get Pi in Python Using Radians
- Conclusion
- Additional Resources
- Используйте Pi в Python
- Используйте функцию math.pi() , чтобы получить значение Пи в Python
- Используйте функцию numpy.pi() , чтобы получить значение Пи в Python
- Используйте функцию scipy.pi() , чтобы получить значение Пи в Python
- Используйте функцию math.radians() , чтобы получить значение Пи в Python
- Проекты Python: вычислить значение числа Пи до числа десятичных знаков
Using Pi in Python (NumPy and Math)
In this tutorial, you’ll learn how to get and use the value of pi in Python. We’ll explore a number of different ways in which you can get and store the value of pi in Python. First, we’ll look at the math library, followed by the NumPy library. We’ll explore why you may want to choose one way over the other and close out with a fun alternative way of generating the value.
What is the Pi Constant?
The number pi, π, is a mathematical constant that’s approximately equal to 3.14159. It’s commonly used in Euclidian geometry to represent the ratio of a circle’s circumference to its diameter.
Pi itself is an irrational number, meaning that the value cannot be represented as a common fraction. However, the fraction 22/7 is often used to represent its value as an approximation. Similarly, the decimal representation of the value never ends and never moves into a permanently repeating pattern.
Now that you have a good understanding of the nature and uses of pi, let’s see how we can get this important mathematical constant in Python!
Get Pi in Python Using Math
In this section, you’ll learn how to use the math library to get the value of pi in Python. Because the math library is part of the standard Python library, you don’t need to install anything additional. Let’s see how we can import the value:
# Using math to Get the Value of Pi import math pi = math.pi print(pi) # Returns: 3.141592653589793
We can see that the constant pi is available simply by accessing the constant in the library.
If you’re only planning on using the constant from the library, it may make sense to import only that constant, rather than the whole library. This can be done as shown below:
# Only Importing Pi from Python math from math import pi pi_value = pi print(pi_value) # Returns: 3.141592653589793
This allows you to use the constant without needing to reference the library. In the next section, you’ll learn how to use the NumPy library to access the value of pi.
Get Pi in Python Using NumPy
Similar to the math library, the Python NumPy library provides the value of the pi constant. Since NumPy isn’t part of the standard Python library, you may need to install it. This can be done by using either pip or conda , as shown below:
$ pip install numpy $ conda install numpy
Use either one of these installation methods, depending on your preferred package manager.
Once the library is installed, we can access the value of pi by using the constant in the library:
# Getting the Value of Pi in NumPy import numpy as np pi_value = np.pi print(pi_value) # Returns: 3.141592653589793
This method works similarly to how we would use the math library. Similarly, we can simply import the constant directly, if we only intend to use that value and nothing else from the library:
# Only Importing Pi from Python numpy from numpy import pi pi_value = pi print(pi_value) # Returns: 3.141592653589793
In the next section, we’ll explore when it’s better to use one method over the other.
Should You Use NumPy or Math to Get Pi in Python?
So far, you’ve learned two different ways to access the value of pi . At this point, you may be wondering which method is better to use. Before diving into that discussion, let’s first take a look if the value of the two constants is equal.
We can do this by using the == comparison operator:
# Comparing the two methods of getting pi in Python import math import numpy as np math_pi = math.pi numpy_pi = np.pi print(math_pi == numpy_pi) # Returns: True
Using the code above, we can see that the two values are the same. So, when would you use one over the other?
Because the math library is part of the standard Python library, using this approach means you’re not loading any additional dependencies. However, if you’re working with numerical calculations, there’s a good chance you’re using numpy already. In this case, it may be more straightforward simply to use the numpy approach.
So, in conclusion, the best method to use is the one that’s most useful to your circumstance. If you’re already using numpy in your program, you’re better off just using numpy’s pi constant. If you’re not using numpy, however, and want to keep your dependencies low, then you should use math .
Get Pi in Python Using Radians
Another fun way that you can get the value of pi in Python is to use the radians() function from the math library. When you pass in 180 as the value for the radian, the function returns the value of pi.
Let’s see what this looks like:
# Getting the Value of Pi with Radians import math pi = math.radians(180) print(pi) # Returns: 3.141592653589793
While this isn’t the most practical way to get the value of pi, it does work!
Conclusion
In this tutorial, you learned how to use Python to get the value of pi. You first learned about some of the basic properties of pi and why you may need a library to access its value. You then learned how to use both the math and numpy packages to get the value of pi. Finally, you learned how to use the radians() function to get the value of pi.
Additional Resources
To learn more about related topics, check out the articles below:
Используйте Pi в Python
- Используйте функцию math.pi() , чтобы получить значение Пи в Python
- Используйте функцию numpy.pi() , чтобы получить значение Пи в Python
- Используйте функцию scipy.pi() , чтобы получить значение Пи в Python
- Используйте функцию math.radians() , чтобы получить значение Пи в Python
Python имеет множество объектов и модулей, доступных для математических и научных расчетов.
В этом руководстве мы найдем и будем использовать значение пи в Python.
Используйте функцию math.pi() , чтобы получить значение Пи в Python
Для этого воспользуемся math модулем. Модуль math предоставляет доступ к математическим функциям языка программирования Python.
С этим модулем связано множество функций. Функция pi используется для доступа к значению пи в Python. Прежде всего, импортируйте модуль math для доступа к функции pi .
Теперь мы можем использовать это значение для наших вычислений и выражений.
Используйте функцию numpy.pi() , чтобы получить значение Пи в Python
numpy.pi() также может возвращать значение пи в Python.
import numpy print(numpy.pi)
Используйте функцию scipy.pi() , чтобы получить значение Пи в Python
Функция pi() из модуля scipy также может возвращать значение pi.
import scipy print(scipy.pi)
Все три модуля возвращают одно и то же значение. Единственная причина, по которой эта функция существует в трех модулях, заключается в том, что она позволяет нам работать со значением пи без импорта каких-либо других модулей. Например, при работе с NumPy нам не нужно импортировать math или scipy , чтобы получить значение пи.
Используйте функцию math.radians() , чтобы получить значение Пи в Python
Это нетрадиционный метод, который практически не используется. Есть еще один способ конвертировать градусы в радианы в Python, не обращаясь непосредственно к пи для конкретного случая. В модуле math есть функция с именем radians() , конвертирующая градусы в радианы.
import math math.radians(90)
Мы можем использовать эту функцию, чтобы получить значение пи, как показано ниже.
import math math.radians(180)
Как видите, когда мы конвертируем 180 градусов в радианы, мы получаем значение пи.
Copyright © 2023. All right reserved
Проекты Python: вычислить значение числа Пи до числа десятичных знаков
Создайте проект Python, чтобы получить значение числа Пи до n десятичных знаков.
Примечание. Введите число, и программа сгенерирует PI для n-й цифры.
Образец раствора -1:
#!/usr/bin/env python3 # https://github.com/MrBlaise/learnpython/blob/master/Numbers/pi.py # Find PI to the Nth Digit # Have the user enter a number 'n' # and print out PI to the 'n'th digit def calcPi(limit): # Generator function """ Prints out the digits of PI until it reaches the given limit """ q, r, t, k, n, l = 1, 0, 1, 1, 3, 3 decimal = limit counter = 0 while counter != decimal + 1: if 4 * q + r - t < n * t: # yield digit yield n # insert period after first digit if counter == 0: yield '.' # end if decimal == counter: print('') break counter += 1 nr = 10 * (r - n * t) n = ((10 * (3 * q + r)) // t) - 10 * n q *= 10 r = nr else: nr = (2 * q + r) * l nn = (q * (7 * k) + 2 + (r * l)) // (t * l) q *= k t *= l l += 2 k += 1 n = nn r = nr def main(): # Wrapper function # Calls CalcPi with the given limit pi_digits = calcPi(int(input( "Enter the number of decimals to calculate to: "))) i = 0 # Prints the output of calcPi generator function # Inserts a newline after every 40th number for d in pi_digits: print(d, end='') i += 1 if i == 40: print("") i = 0 if __name__ =='__main__': main()
Введите количество десятичных знаков для расчета: 5 3,14159
Блок - схема:
Образец раствора -2:
#https://github.com/rlingineni/PythonPractice/blob/master/piCalc/pi.py import math def CalculatePi(roundVal): somepi = round(math.pi,roundVal); pi = str(somepi) someList = list(pi) return somepi; roundTo = input('Enter the number of digits you want after the decimal for Pi: ') try: roundint = int(roundTo); print(CalculatePi(roundint)); except: print("You did not enter an integer");
Введите количество цифр, которое вы хотите после десятичного числа для Пи: 5 3,14159
Блок - схема:
Пример решения -3:
# generate pi to nth digit # Chudnovsky algorihtm to find pi to n-th digit # from https://en.wikipedia.org/wiki/Chudnovsky_algorithm # https://github.com/microice333/Python-projects/blob/master/n_digit_pi.py import decimal def compute_pi(n): decimal.getcontext().prec = n + 1 C = 426880 * decimal.Decimal(10005).sqrt() K = 6. M = 1. X = 1 L = 13591409 S = L for i in range(1, n): M = M * (K ** 3 - 16 * K) / ((i + 1) ** 3) L += 545140134 X *= -262537412640768000 S += decimal.Decimal(M * L) / X pi = C / S return pi while True: n = int(input("Please type number between 0-1000: ")) if n >= 0 and n
Пожалуйста, введите число от 0 до 1000: 8 3.14159266
Блок - схема:
Пример решения -4:
#coding:utf-8 """ Pi = SUM k=0 to infinity 16^-k [ 4/(8k+1) - 2/(8k+4) - 1/(8k+5) - 1/(8k+6) ] ref: https://www.math.hmc.edu/funfacts/ffiles/20010.5.shtml https://github.com/Flowerowl/Projects/blob/master/solutions/numbers/find_pi_to_the_nth_digit.py """ from __future__ import division import math from decimal import Decimal as D from decimal import getcontext getcontext().prec = 400 MAX = 10000 pi = D(0) for k in range(MAX): pi += D(math.pow(16, -k)) * (D(4/(8*k+1)) - D(2/(8*k+4)) - D(1/(8*k+5)) - D(1/(8*k+6))) print('PI >>>>>>>>>>' , pi)
PI >>>>>>>>>> 3,141592653589793235602541812141379285866306715610149218684551786650252153469632637309117852151159714537117427945211584672226312439842050377685609241701572487956515336256451884653308025999156699529458184376955252001085693453737649800187605123943826169924919030970189770760788301321900624395693702676234864995384812854310220642057305637554086524948960077795499941378034295271204385281577283147587536626
Блок - схема:
Пример решения -5:
""""Find PI to the Nth Digit - https://bitbucket.org/desertwebdesigns/learn_python/src/master/Numbers/pi.py?fileviewer=file-view-default Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go.""" import math precision = int(input("How many spaces? ")) while precision > 50: print("Number to large") precision = int(raw_input("How many spaces? ")) else: print('%.*f' % (precision, math.pi))
Сколько пробелов? 5 3,14159
Блок - схема:
Улучшите этот пример решения и опубликуйте свой код через Disqus