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
Python 2.7 浮点对象在赋值时不可iterable_Python 2.7 - Fatal编程技术网

Python 2.7 浮点对象在赋值时不可iterable

Python 2.7 浮点对象在赋值时不可iterable,python-2.7,Python 2.7,我在运行这个python文件时一直遇到这个错误。它发生在这一行: p1x,p1y=newList[0] TypeError:“Float”对象不可编辑 代码如下: newList = [] for i, val in enumerate(poly): if poly[i] != True: newList.append(poly[i][0]) n = len(newList) inside =False p1x, p1y = newList[0] for i

我在运行这个python文件时一直遇到这个错误。它发生在这一行:

p1x,p1y=newList[0]
TypeError:“Float”对象不可编辑

代码如下:

newList = []
for i, val in enumerate(poly):      
    if poly[i] != True:
        newList.append(poly[i][0])
n = len(newList)
inside =False
p1x, p1y = newList[0]
for i in range(n+1):
    p2x, p2y = newList[i % n]
    if y > min(p1y,p2y):
        if y <= max(p1y,p2y):
            if x <= max(p1x,p2x):
                if p1y != p2y:
                    xinters = (y-p1y)*(p2x-p1x)/(p2y-p1y)+p1x
                if p1x == p2x or x <= xinters:
                    return True
    p1x,p1y = p2x,p2y

return inside

它是有效的,但不是相反的?

因为
newList[0]
是一个
Float
,所以它不能被分成两部分(正如原始代码所尝试的那样)。您的第二次尝试是为
p1x
p1y
中的每一个分配相同的
Float
,这可能不是您想要做的;但是如果是,那么您可以编写
p1x,p1y=newList[0],newList[0]

什么是newList[0]?
如果它是一个单一的浮点值,它将给你一个错误

newList[0]必须是一个元组,如(1,2),才能对其进行迭代

您可以这样做(如果newList[0]和newList[1]是单个值):

p1x = newList[0]
p1y = newList[0]
p1x, p1y = newList[0], newList[1]
newList[0] = (1,2)
p1x, p1y = newList[0]