我正在尝试制作一个pygame程序,其中包含草图'三次和二次图。 我的代码如下。但每次我尝试运行代码时都会收到此错误。
y = 250 - ((A(x)**B)+(C(x)**D)+(E(x))+c)
TypeError: 'int' object is not callable
我真的不知道它意味着什么或如何解决它。
抱歉,如果我在发布所有代码时感到痛苦,我只需要查看代码是否还有其他问题
import pygame,sys,time,random
A =1
B =2
C =5
D =1
E =7
c =5
line = (0,0,0)
x = 0.0
screen = pygame.display.set_mode((500,500))
screen.fill((255,255,255))
draw = True
start = True
count = 0
while start:
pygame.draw.line(screen,(0,0,0),(250,0),(250,500))
pygame.draw.line(screen,(0,0,0),(0,250),(500,250))
while x <=500:
y = 250 - ((A(x)**B)+(C(x)**D)+(E(x))+c)
pos = (((x)+250),y)
pygame.draw.line(screen,(line),(pos),(pos))
pygame.display.update()
x +=1
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit();sys.quit();
again = raw_input('again? y/n')
if again == 'y' or again == 'yes':
start = True
screen.fill(255,255,255)
x = 0.0
elif again == 'n' or again == 'no':
start = False
答案 0 :(得分:3)
正如错误所述,int
对象不可调用。
你需要做
y = 250 - ((A*(x)**B)+(C*(x**D))+(E*(x))+c)
2(5)
并不代表python&amp;中的2*5
许多其他编程语言。您需要指定它们之间的乘法。
对于错误陈述的后半部分,A(x)
表示您使用参数A
调用函数x
。