__init __()缺少1个必需的位置参数,但我想我把它放了吗?

鲍里斯·埃尔·加雷(Boris El Gareh)

我编写了一个教育游戏,其中用户必须复制计算机提供的工厂。当我在Application类的Piece类中实例化对象并使用drawPiece()方法时,出现以下错误:

    Traceback (most recent call last):
  File "/Users/boriselgareh/Downloads/DMV2 5/Application.py", line 32, in <module>
    Application(8).mainloop()
  File "/Users/boriselgareh/Downloads/DMV2 5/Application.py", line 12, in __init__
    self.initPieces()
  File "/Users/boriselgareh/Downloads/DMV2 5/Application.py", line 21, in initPieces
    pieceModele=PieceModele(Canvas())
  File "/Users/boriselgareh/Downloads/DMV2 5/Piece.py", line 82, in __init__
    Piece.__init__(self)
TypeError: __init__() missing 1 required positional argument: 'can'

这是我们感兴趣的两个类,Piece和Application类包含在单独的文件中:

from VueChaine import *
from Chaine import *
from tkinter import *
from Piece import *

class Application(Tk):
    def __init__(self,nbCotes):
        Tk.__init__(self)
        self.nbCotes=nbCotes
        self.initFenetre()
        self.initPieces()

    def initFenetre(self):
        self.title("l'usine TTT")
        self.chaine=Chaine((3*self.nbCotes-2)//2)
        self.afficheChaine=VueChaine(self,self.nbCotes)
        self.afficheChaine.grid()

    def initPieces(self):
        pieceModele=PieceModele(Canvas(self))
        pieceUsine=PieceUsine(Canvas(self))
        pieceModele.getCan().pack(self)
        pieceUsine.getCan().pack(self)
        pieceUsine.dessinerPieces()
        pieceModele.dessinerPieces()




if __name__=="__main__":
    Application(8).mainloop()

from random import *
from math import *
from tkinter import *

class Piece(object):

    def __init__(self,can,x=100,y=100,r=100,nbCotes=8):
        self.__nbCotes=nbCotes
        self.__can=can
        self.xCentre=x
        self.yCentre=y
        self.rayon=r
        self.generer()

    def dessinerPieces(self):
        sommets=[]
        for i in range(self.getNbCotes()):
            sommets.append([self.xCentre+self.rayon * cos(2 * pi * (i+1/2) / self.getNbCotes()),
                                self.yCentre +self.rayon * sin(2 * pi * (i+1/2) / self.getNbCotes())])

        self.getCan().create_polygon(sommets, outline='gray', fill='gray')
        self.getCan().pack()

        delta=self.rayon-self.rayon*cos(pi/self.getNbCotes())
        angle = (2 * pi) / self.getNbCotes()

        for i in range(self.getNbCotes()//2):
            if self.traits[i] != 0:
                x0 = self.xCentre + (self.rayon - delta) * cos(angle * i)
                x1 = self.xCentre + (self.rayon - delta) * cos(angle * i + pi)
                y0 = self.yCentre + (self.rayon - delta) * sin(angle * i)
                y1 = self.yCentre + (self.rayon - delta) * sin(angle * i + pi)
                self.getCan().create_line(x0, y0, x1, y1, width=self.traits[i]**2, fill='lightgrey')

            if self.trous[i] == 2 or self.trous[i] == 3:
                x0 = self.xCentre + (self.rayon - delta) / 1.25 * cos(angle * i) - 7
                y0 = self.yCentre + (self.rayon - delta) / 1.25 * sin(angle * i) - 7
                x1 = self.xCentre + (self.rayon - delta) / 1.25 * cos(angle * i) + 7
                y1 = self.yCentre + (self.rayon - delta) / 1.25 * sin(angle * i) + 7
                x2 = self.xCentre + (self.rayon - delta) / 1.25 * cos(angle * i + pi) - 7
                y2 = self.yCentre + (self.rayon - delta) / 1.25 * sin(angle * i + pi) - 7
                x3 = self.xCentre + (self.rayon - delta) / 1.25 * cos(angle * i + pi) + 7
                y3 = self.yCentre + (self.rayon - delta) / 1.25 * sin(angle * i + pi) + 7
                self.getCan().create_oval(x0, y0, x1, y1, fill='yellow')
                self.getCan().create_oval(x2, y2, x3, y3, fill='yellow')

        if 1 or 3 in self.traits :
                x = self.xCentre
                y = self.yCentre
                self.getCan().create_oval(x - 7, y - 7, x + 7, y + 7, fill='yellow')
        #mainloop()

    def generer(self):
        raise NotImplementedError('...')

    def getNbCotes(self):
        return self.__nbCotes

    def setNbCotes(self,nbCotes):
        self.__nbCotes=nbCotes

    def getCan(self):
        return self.__can

    def __eq__(self, other):

        nouveau_trous = self.trous
        res=()
        for i in range(len(nouveau_trous)):
            if nouveau_trous[i] == 3 or nouveau_trous[i]==1:
                nouveau_trous[i]=nouveau_trous[i]-1
                retenue=1
                res=(nouveau_trous,self.traits,retenue)
        return res==other


class PieceModele(Piece):

    def __init__(self,trous=[],traits=[]):
        self.trous=trous
        self.traits=traits
        Piece.__init__(self)

    def generer(self):
        self.trous=[randint(0,3) for i in range(self.getNbCotes()//2)]
        self.traits=[randint(0,3) for i in range(self.getNbCotes()//2)]

    def __repr__(self):
        return str(self.trous)+str(self.traits)+"   "+str(self.getNbCotes())

class PieceUsine(Piece):

    def __init__(self,trous=[],traits=[]):
        self.trous=trous
        self.traits=traits
        Piece.__init__(self)

    def generer(self):
        self.trous=[ 0 for i in range(self.getNbCotes()//2)]
        self.traits=[ 0 for i in range(self.getNbCotes()//2)]

    def trouer(self,nb):
        self.trous[0]=nb

    def tracer(self,epaisseur):
        self.traits[0]=epaisseur

    def tourner(self,angle):
        for i in range(angle):
            self.trous.insert(0,self.trous.pop())
            self.traits.insert(0,self.traits.pop())

    def __repr__(self):
        return str(self.trous) + str(self.traits) + "   " + str(self.getNbCotes())


if __name__=="__main__":
    p1=PieceModele()
    p2=PieceUsine()
    print(p1)
    p1.dessinerPieces()
    print(p1)
维卡什·辛格(Vikash Singh)

即班级采取1个位置论证can

class Piece(object):

    def __init__(self,can,x=100,y=100,r=100,nbCotes=8):
        .....

PieceModel类扩展了块,并尝试在不传递值的情况下进行超级初始化can(请参见此代码块的最后一行)

class PieceModele(Piece):

    def __init__(self,trous=[],traits=[]):
        self.trous=trous
        self.traits=traits
        Piece.__init__(self)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

__init __()缺少1个必需的位置参数

来自分类Dev

TypeError:__init __()缺少1个必需的位置参数:'axis'我该如何解决

来自分类Dev

TypeError:__init __()缺少1个必需的位置参数:'id'

来自分类Dev

__init __()缺少1个必需的位置参数:“ quantity”

来自分类Dev

__init__() 缺少 1 个必需的位置参数:'self'

来自分类Dev

扩展名'cogs.reddit'引发错误:TypeError:__init __()缺少1个必需的位置参数:'client',我该如何解决?

来自分类Dev

__init __()缺少2个必需的位置参数:'fig'和'func'

来自分类Dev

如何修复modelformset错误:__init __()缺少1个必需的位置参数:'user'

来自分类Dev

Discord.py重写齿轮:TypeError:__init __()缺少1个必需的位置参数:'func'

来自分类Dev

迁移条目模型和类型错误:__init__() 缺少 1 个必需的位置参数:'on_delete'

来自分类Dev

Flask-PyMongo - init_app() 缺少 1 个必需的位置参数:'app'

来自分类Dev

TypeError __init __()缺少1个必需的位置参数是什么:python中的'get_response'是什么意思?

来自分类Dev

类型错误:__init__() 缺少 1 个必需的位置参数:远程服务器 CentOS7.2 中的“on_delete”

来自分类Dev

TypeError:__init __()缺少2个必需的位置参数:“ client_socket”和“ statusMessage”

来自分类Dev

TypeError:__init __()缺少2个必需的位置参数:'no_of_arrows'和'email'

来自分类Dev

如何修复 TypeError:__init__() 缺少 3 个必需的位置参数:来自 matplotlib.patches 椭圆的“xy”、“width”和“height”

来自分类Dev

__init__() 在进行迁移时缺少 2 个必需的位置参数:“from_fields”和“to_fields”

来自分类Dev

如何将List作为参数传递给dataclass?TypeError:__init __()缺少必需的位置参数

来自分类Dev

我得到__init __()在IntegerField上至少接受2个参数(给定1个)

来自分类Dev

__init __()恰好接受1个参数,MYSQL

来自分类Dev

当我覆盖init(frame:CGRect)时,它显示“必须在UIControl的子类中提供必需的初始化程序init”

来自分类Dev

为什么缺少 __init__() 的参数?

来自分类Dev

如果仅调用super .__ init__是必需的__init__吗?

来自分类Dev

当我登录时,它挂起,直到完成crng init

来自分类Dev

缺少必需的位置参数:Python:自我

来自分类Dev

django - 类型错误 __init__ 位置参数

来自分类Dev

在Servlet外部检索Init参数

来自分类Dev

TypeError:object .__ init __()不带参数

来自分类Dev

DeprecationWarning:object .__ init __()不带参数

Related 相关文章

  1. 1

    __init __()缺少1个必需的位置参数

  2. 2

    TypeError:__init __()缺少1个必需的位置参数:'axis'我该如何解决

  3. 3

    TypeError:__init __()缺少1个必需的位置参数:'id'

  4. 4

    __init __()缺少1个必需的位置参数:“ quantity”

  5. 5

    __init__() 缺少 1 个必需的位置参数:'self'

  6. 6

    扩展名'cogs.reddit'引发错误:TypeError:__init __()缺少1个必需的位置参数:'client',我该如何解决?

  7. 7

    __init __()缺少2个必需的位置参数:'fig'和'func'

  8. 8

    如何修复modelformset错误:__init __()缺少1个必需的位置参数:'user'

  9. 9

    Discord.py重写齿轮:TypeError:__init __()缺少1个必需的位置参数:'func'

  10. 10

    迁移条目模型和类型错误:__init__() 缺少 1 个必需的位置参数:'on_delete'

  11. 11

    Flask-PyMongo - init_app() 缺少 1 个必需的位置参数:'app'

  12. 12

    TypeError __init __()缺少1个必需的位置参数是什么:python中的'get_response'是什么意思?

  13. 13

    类型错误:__init__() 缺少 1 个必需的位置参数:远程服务器 CentOS7.2 中的“on_delete”

  14. 14

    TypeError:__init __()缺少2个必需的位置参数:“ client_socket”和“ statusMessage”

  15. 15

    TypeError:__init __()缺少2个必需的位置参数:'no_of_arrows'和'email'

  16. 16

    如何修复 TypeError:__init__() 缺少 3 个必需的位置参数:来自 matplotlib.patches 椭圆的“xy”、“width”和“height”

  17. 17

    __init__() 在进行迁移时缺少 2 个必需的位置参数:“from_fields”和“to_fields”

  18. 18

    如何将List作为参数传递给dataclass?TypeError:__init __()缺少必需的位置参数

  19. 19

    我得到__init __()在IntegerField上至少接受2个参数(给定1个)

  20. 20

    __init __()恰好接受1个参数,MYSQL

  21. 21

    当我覆盖init(frame:CGRect)时,它显示“必须在UIControl的子类中提供必需的初始化程序init”

  22. 22

    为什么缺少 __init__() 的参数?

  23. 23

    如果仅调用super .__ init__是必需的__init__吗?

  24. 24

    当我登录时,它挂起,直到完成crng init

  25. 25

    缺少必需的位置参数:Python:自我

  26. 26

    django - 类型错误 __init__ 位置参数

  27. 27

    在Servlet外部检索Init参数

  28. 28

    TypeError:object .__ init __()不带参数

  29. 29

    DeprecationWarning:object .__ init __()不带参数

热门标签

归档