问题描述
用户输入一个邮政编码,然后程序在数组中搜索数字序列。正在找到较早的数字,但在数组中未找到较高的数字(其中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 (将#修改为@)