如何解决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 举报,一经查实,本站将立刻删除。