看不到语法错误

时间:2014-02-11 21:32:23

标签: python syntax

我是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]

感谢任何帮助。

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

很重要