Как рассчитать значение числа пи, используя серию в python?

Я новичок в программировании. Наш класс использует Python. Я пытаюсь вычислить значение pi в диапазоне k = [0,5] и вывести результат, указывающий значение k и значение результата pi. Уравнение, которое мы должны использовать, это π=√12+(-3)^k/2k+1. Ниже мой код. Я наверное что-то не так делаю, но не знаю. Спасибо за вашу помощь.

k = range(0,5)
print("k:", list(k) )
series = [i+i for i in k]
print("series:", series)
sum = sum(series)

pi = math.sqrt(12)
numerator = (-3)pow(k)
denominator = 2(series) + 1
var = numerator/denominator
calculation = value/var
print("calculation")

person J Y    schedule 25.02.2015    source источник
comment
Добро пожаловать в Stackoverflow! Я добавил тег python.   -  person Marcus Müller    schedule 25.02.2015
comment
craig-wood.com/nick/articles/pi-archimedes   -  person SriniV    schedule 25.02.2015


Ответы (2)


Добро пожаловать в StackOverFlow.

Итак, в вашем коде есть несколько ошибок:

Во-первых, у вас должен быть оператор import math в начале вашего кода (если вы только что не исключили его). Это позволяет использовать math.sqrt() и math.pow()

Следующее, что для строки, которая говорит numerator = (-3)pow(k), вы должны вместо этого написать numerator = math.pow(-3, k) Первый аргумент в math.pow — это число, которое вы используете, а второй — показатель степени, который применяется к этому числу.

Таким образом, ваш код должен выглядеть следующим образом:

import math

k = range(0,5)
print("k:", list(k) )
series = [i+i for i in k]
print("series:", series)
sum = sum(series)

pi = math.sqrt(12)
numerator = math.pow(-3,k)
denominator = 2(series) + 1
var = numerator/denominator
calculation = value/var
print("calculation")

И даже тогда мы все еще сталкиваемся с некоторыми проблемами... Вы пытаетесь возвести -3 в степень k, но вы инициализируете k как диапазон от 0 до 5. Вы не можете этого сделать.

Вы хотите возвести -3 в степень k, а k — это каждое число от 0 до 5. Итак, учитывая, что это похоже на домашнее задание, вам нужно выяснить, как использовать каждое число в диапазоне, и установить оно равно k. Затем вычислите значение pi для k = 0, затем для k = 1 и так далее.

Возможно, вы захотите рассмотреть возможность использования цикла for или понимания списка, если вам еще не разрешено использовать циклы.

В противном случае взгляните на этот другой запись StackOverflow

person freddiev4    schedule 25.02.2015

Мне нужно решить ту же проблему для моего класса Python, но это (-3)^-k. Мне интересно, если это ошибка транскрипции вы сделали. Если это так, у вас могут быть лучшие результаты.

person cat    schedule 25.02.2015