Python-尝试在PI数字100,000个范围内内查找邮政编码

问题描述

用户输入一个邮政编码,然后程序在数组中搜索数字序列。正在找到较早的数字,但在数组中未找到较高的数字(其中50k左右的元素),但它们应该在该位置。

def make_pi():
    q,r,t,k,m,x = 1,1,3,3
    for j in range(100000):
        if 4 * q + r - t < m * t:
            yield m
            q,x = 10*q,10*(r-m*t),(10*(3*q+r))//t - 10*m,x
        else:
            q,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")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)