标题:小白一新手低级问题
只看楼主
benzhj
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2020-3-3
 问题点数:0 回复次数:1 
小白一新手低级问题
正在学习,按书敲了一段代码。
代码词句都初步搞明白了,但,运行时报错。
from tkinter import*
import random
import time

class Ball:
      def _init_(self,canvas,color):
            self.canvas=canvas
            self.id=canvas.create_oval(10,10,25,25,fill=color)
            self.canvas.move(self.id,245,100)

      def draw(self):
            self.canvas.move(self.id,0,-1)

tk=Tk()
tk.title("game")                          
tk.resizable(0,0)                        
tk.wm_attributes("-topmost",1)            
canvas=Canvas(tk,width=500,height=400,bd=0,highlightthickness=0)   
canvas.pack()                             
tk.update()                              

ball = Ball(canvas, 'red')
tk.update()

while 1:
      ball.draw()
      tk.update_idletasks()
      tk.update()
      time.sleep(0.01)



错在ball = Ball(canvas, 'red')  这行,ypeError: object() takes no parameters
能告我为什么错吗?



[此贴子已经被作者于2020-3-3 13:16编辑过]

搜索更多相关主题的帖子: update color canvas import 代码 
2020-03-03 13:14
时光流逝
Rank: 4
来 自:北京
等 级:业余侠客
威 望:8
帖 子:92
专家分:297
注 册:2019-11-16
得分:0 
你应该这样子定义你的类:
程序代码:
class Ball:
      def __init__(self,canvas,color):
            self.canvas=canvas
            self.id=canvas.create_oval(10,10,25,25,fill=color)
            self.canvas.move(self.id,245,100)

      def draw(self):
            self.canvas.move(self.id,0,-1)

你类里的初始化函数_init_(self,canvas,color),"init"两边各少了一个下划线,导致报错
2020-03-11 11:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499526-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.250371 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved