#python #arrays #size #limit #pi
#python #массивы #размер #ограничение #Число pi
Вопрос:
Пользователь вводит почтовый индекс, затем программа ищет в массиве последовательность цифр. Более ранние цифры найдены, но более высокие цифры (около 50 тысяч элементов в) не найдены в массиве, но они должны быть там.
def make_pi():
q, r, t, k, m, x = 1, 0, 1, 1, 3, 3
for j in range(100000):
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
my_array = []
for i in make_pi():
my_array.append(str(i))
num = input("Enter 5 digit ZIP Code: ")
while (1):
try:
val = int(num)
except ValueError:
print("Entered value is not an integer")
num = input("Enter 5 digit ZIP code: ")
continue
if (len(num)!=5):
print("ZIP code must be 5 digits!")
num = input("Enter 5 digit ZIP Code: ")
else:
break
flag = 0
for i in range(len(my_array) - 5):
if (int(my_array[i]) == int(num[0])):
if (int(my_array[i 1]) == int(num[1])):
if (int(my_array[i 2]) == int(num[2])):
if(int(my_array[i 3]) == int(num[3])):
if (int(my_array[i 4]) == int(num[4])):
print("ZIP match found at digit #", i 1)
flag = 1
if (flag == 0):
print("ZIp match not found")
Комментарии:
1. можете ли вы привести пример и для какого ввода он работает и не работает
2. Ваш массив не выдает значение для каждой итерации цикла. Когда я запускаю это,
my_array
имеет длину всего 23126 элементов, поэтому неясно, что вы имеете в виду под50k or so elements