def make_pi():
q, r, t, k, m, x = 1, 0, 1, 1, 3, 3
while True:
if 4 * q + r - t < m * t:
yield m
q, r, t, k, m, x = (10*q, 10*(r-m*t), t, k, (10*(3*q+r))//t - 10*m, x)
else:
q, r, t, k, m, x = (q*k, (2*q+r)*x, t*x, k+1, (q*(7*k+2)+r*x)//(t*x), x+2)
digits = make_pi()
pi_list = []
my_array = []
for i in range(1000):
my_array.append(str("hello, I'm an element in an array \n" ))
big_string = "".join(my_array)
print "here is a big string:\n %s" % big_string
Я знаю, что этот код можно исправить, но я не уверен, что именно исправить... Оператор print, говорящий здесь, представляет собой большую строку, а my_array.append(str("привет, я элемент в массиве \n)) на данный момент является просто заполнителем. Я знаю, как весь код используется для работы, но, как я уже говорил ранее, я не могу заставить его выпустить этот код.>
Проблема в том, что мой код не позволяет вывести 1000 цифр числа Пи в Python. Вот мой код: [code]def make_pi(): q, r, t, k, m, x = 1, 0, 1, 1, 3, 3 while True: if 4 * q + r - t < m * t: yield m q, r, t, k, m, x = (10*q, 10*(r-m*t), t, k, (10*(3*q+r))//t - 10*m, x) else: q, r, t, k, m, x = (q*k, (2*q+r)*x, t*x, k+1, (q*(7*k+2)+r*x)//(t*x), x+2)
digits = make_pi() pi_list = [] my_array = [] for i in range(1000): my_array.append(str("hello, I'm an element in an array \n" )) big_string = "".join(my_array)
print "here is a big string:\n %s" % big_string [/code] Я знаю, что этот код можно исправить, но я не уверен, что именно исправить... Оператор print, говорящий здесь, представляет собой большую строку, а my_array.append(str("привет, я элемент в массиве \n)) на данный момент является просто заполнителем. Я знаю, как весь код используется для работы, но, как я уже говорил ранее, я не могу заставить его выпустить этот код.>