Python无法执行文件
我创建了一个函数,可以将任何用户定义的值转换为相应的值。首先,此函数将初始化数组并对其输入进行一些修改。我可以确认错误在于这个函数,因为在我删除这段特定的代码之后,一切都正常Python无法执行文件,python,python-2.7,for-loop,Python,Python 2.7,For Loop,我创建了一个函数,可以将任何用户定义的值转换为相应的值。首先,此函数将初始化数组并对其输入进行一些修改。我可以确认错误在于这个函数,因为在我删除这段特定的代码之后,一切都正常 def get_lower_page(input): #initialize the array convpage=[0]*1535 for k in range(16): for m in range(2,36): if m==2: lp=k
def get_lower_page(input):
#initialize the array
convpage=[0]*1535
for k in range(16):
for m in range(2,36):
if m==2:
lp=k
convpage[lp]=lp
elif m==3:
up=32*m+2*k-79
lp=up-1
convpage[lp]=lp
convpage[up]=lp
elif (m==4 or m==5):
xp=48*m+3*k-80
up=32*m+2*k-79
lp=up-1
convpage[xp]=lp
convpage[lp]=lp
convpage[up]=lp
elif (m>5 and m<33):
xp=48*m+2*k-80
up=48*m+3*k-174
lp=up-1
convpage[xp]=lp
convpage[lp]=lp
convpage[up]=lp
elif m==33:
xp=48*m+2*k-80
up=48*m+3*k-174
lp=up-1
convpage[xp]=lp
convpage[lp]=lp
convpage[up]=lp
elif m=34:
up=48*m+3*k-174
lp=up-1
convpage[lp]=lp
convpage[up]=lp
else:
lp=48*m+2*k-175
convpage[lp]=lp
return convpage[input]
我认为这里不需要关于函数如何工作的细节。有人能发现错误吗?您确实有语法错误。在这一行:
elif m=34:
应该是:
elif m==34:
此外,您的返回值
需要缩进,此块:
else:
lp=48*m+2*k-175
convpage[lp]=lp
返回索引越界错误 考虑k=15和m=35的情况
lp = 48*m+2*k-175
convpage[lp]=lp
lp=48*35+2*15-175=1535。但是您将数组初始化为
convpage=[0]*1535
,因此convpage[lp]=lp
将抛出一个错误,因为索引超出范围1。一个错误会很有帮助……查看并相应地编辑您得到的任何错误或任何其他预期行为的描述,你不需要“怀疑”语法错误;编译器/解释器将告诉您。没有错误消息,因为可执行文件本身无法打开。return convpage[input]
的缩进错误
lp = 48*m+2*k-175
convpage[lp]=lp