我是Python的新手(牢记这一点)并且正在尝试初学者书中的一个例子。其中,有一个程序在屏幕上绘制随机圆圈。但是,尽管将其复制出字符的字符,但circle.py
的第19行仍然存在语法错误。请问有人请花些时间为我查看代码吗? (顺便说一句,对于一个初学者,我对Python有一个很好的理解。我得到函数,变量和面向对象的编程,但之后我不太了解。)
1 import pygame, random
2
3 class Circle:
4 _minimum=100;_maximum=255
5 _colour=None
6 _properties=[]
7
8 def __init__(self,screen,width,height):
9 self.random_colour()
10 self.draw_circle(screen,width,height)
11
12 def draw_circle(self, screen, width, height):
13 x=random.randint(1,width)
14 y=random.randint(1,height)
15 size=random.randint(1,5)
16 self.properties=[x,y,size]
17 pygame.draw.circle(screen,self._colour,(x,y),size)
18
19 def random_colour(self)
20 red=random.randint(self._minimum,self._maximum)
21 green=random.randint(self._minimum,self._maximum)
22 blue=random.randint(self._minimum,self._maximum)
23 self._colour=[red,green,blue]
24
25 def clear_circle(self,screen):
26 pygame.draw_circle(screen,(0,0,0),(self._properties[0],self._properties[1],self._properties[2]
感谢任何帮助。
答案 0 :(得分:5)
def random_colour(self) # missing a colon
red=random.randint(self._minimum,self._maximum)
green=random.randint(self._minimum,self._maximum)
blue=random.randint(self._minimum,self._maximum)
self._colour=[red,green,blue]
答案 1 :(得分:0)
for n in range(100):
clock.tick(45)
circles.append(circle.Circle(screen,WIDTH,HEIGHT))
pygame.display.update()
clock.tick(1)
for c in circles:
clock.tick(45)
c.clear_circle(screen)
pygame.display.update()
您的第二个if语句缩进错误。将缩进更正为4个空格,语法错误将消失。
你的缩进在课堂上也是错误的。确保范围正确缩进,因为这对python
很重要