我有一个递归错误,我认为这是非常基本的,但我没有看到问题,尽管我认为它处于停止状态。 基本上,我有一个列表,每个列表是一个楼层,大约有30个点。我在做一个递归,每个楼层做一个曲面多边形,然后在另一个函数中用每个曲面多边形做一个拉伸
下面是代码和错误信息,他让我做了75层我想做的,但一旦楼层列表是空的,他就会出错
def pisos_generico(list_lists):
if list_lists == []:
pass
else:
return surface_polygon (list_lists[0]) + pisos_generico(list_lists[1:])
def pisos (list_lists):
return extrusion(pisos_generico (list_lists)
这是错误代码:
Traceback (most recent call last):
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line
547, in <module>
pisos (xy(0,0), 1.41, 0.02, 75)
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line
529, in pisos
return extrusion(pisos_generico (piso_pisos_rodados (lista, n_andares, p, a, a_torcao)), vz(0.3))
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line 503, in pisos_generico
return surface_polygon (list_lists[0]) + pisos_generico(list_lists[1:])
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line 503, in pisos_generico
return surface_polygon (list_lists[0]) + pisos_generico(list_lists[1:])
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line 503, in pisos_generico
return surface_polygon (list_lists[0]) + pisos_generico(list_lists[1:])
[Previous line repeated 72 more times]
TypeError: unsupported operand type(s) for +: 'surface_polygon' and 'NoneType'
更新版本:
def pisos (p, a, a_torcao, n_andares):
return pisos_generico (lista_listas)
def pisos_generico(list_lists):
if list_lists == []:
[]
else:
return [extrusion(surface_polygon (list_lists[0]), vz(0.3))] + pisos_generico(list_lists[1:])
新的错误消息与旧消息非常相似:
Traceback (most recent call last):
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line
548, in <module>
pisos (xy(0,0), 1.41, 0.02, 75)
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line
530, in pisos
return pisos_generico (lista_listas)
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line
503, in pisos_generico
return [extrusion(surface_polygon (list_lists[0]), vz(0.3))] +
pisos_generico(list_lists[1:])
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line
503, in pisos_generico
return [extrusion(surface_polygon (list_lists[0]), vz(0.3))] +
pisos_generico(list_lists[1:])
File "D:\Universidade\3o Ano\PCA\Projeto\First Try Base Planta 2.py", line
503, in pisos_generico
return [extrusion(surface_polygon (list_lists[0]), vz(0.3))] +
pisos_generico(list_lists[1:])
[Previous line repeated 72 more times]
TypeError: can only concatenate list (not "NoneType") to list
非常感谢你的帮助
如果返回noting,则函数隐式返回
None
。这种情况发生在您可能需要以下内容:
相关问题 更多 >
编程相关推荐