Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python无法执行文件_Python_Python 2.7_For Loop - Fatal编程技术网

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