gpt4 book ai didi

python - 我在代码底部附近收到一个列表不可调用错误,其中显示 ball.append,但我不知道如何修复它

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:04 24 4
gpt4 key购买 nike

我有一个程序,其中一个球只是在屏幕上弹跳。我使用类、列表和 for 循环来创建更多在屏幕上弹跳的球。我收到一条错误消息,提示 list is not callable

from tkinter import *
from random import uniform, randrange
import time
#left,top,right,bottom

tk = Tk()
canvas = Canvas(tk,width=600,height=600)
canvas.pack()

class Ball:#ball characteristics
def __init__(self,color,size):
self.shape = canvas.create_oval(10,10,50,50,fill="blue")
self.xspeed = randrange(1,6)
self.yspeed = randrange(1,6)
def move(self):#ball animation
canvas.move(self.shape,self.xspeed,self.yspeed)
pos = canvas.coords(self.shape)
if pos[0] <= 0 or pos[2] >= 600:#if ball hits the wall#
self.xspeed = -self.xspeed
if pos[1] <= 0 or pos[3] >= 600:
self.yspeed = -self.yspeed
balls = []
for i in range(100):
balls.append(Ball("red",50))

while True:
for ball in balls():
ball.move()
tk.update()
time.sleep(0.01)

最佳答案

您正在尝试调用 balls,但 balls 是一个列表,因此不可调用。取出调用:

for ball in balls():
ball.move()

应该是:

for ball in balls:
ball.move()

换句话说,问题正是错误消息所说的,就在它所说的那一行。

关于python - 我在代码底部附近收到一个列表不可调用错误,其中显示 ball.append,但我不知道如何修复它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41475983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com