首页 > 解决方案 > __init__() 缺少 4 个必需的位置参数

问题描述

我已经创建了这段代码,但我不断收到错误:TypeError:init () 缺少 4 个必需的位置参数:'x'、'y'、'r' 和 'color'。任何想法?请

这是我下面的代码:

import math
    
    class objeto:
        def __init__(self,x, y, r, color):
            self.x = x
            self.y = y
            self.r = r
            self.color = color
            
        def colicionEntre(self,pelota):
            distancia = math.sqrt(pow(self.x-pelota.x,2)+pow(self.y-pelota.y,2))
            radios = self.r + pelota.r
            cad = "La pelota " + self.color + " y la pelota " + pelota.color
            if(distancia<radios):
                cad = cad + " si colicionan"
            else:
                cad = cad + " no colicionan"
            return cad
    
        def procesarLista(self,listaPelotas):
            for i in range(len(listaPelotas)):
                for x in range(i,len(listaPelotas)):
                    if(listaPelotas[i]!=listaPelotas[x]):
                        print(listaPelotas[i].colicionEntre(listaPelotas[x]))
                        
    pelota = objeto(3,4,2,"Amarilla")
    pelota2 = objeto(5,5,1,"Verde")
    pelota3 = objeto(2,2,1,"Roja")
    pelota4 = objeto(1,1,1,"Azul")
    lista = [pelota,pelota2,pelota3,pelota4]
    objetoObj = objeto()
    objetoObj.procesarLista(lista)

标签: pythonpython-3.x

解决方案


class objeto:
    def __init__(self,x, y, r, color):

您的课程需要 4 个参数,但是当您调用它时:

objetoObj = objeto()

你没有给它任何论据。尝试提出论点(它们可能是None


推荐阅读