python
1import sys 2import pygame 3from pygame.locals import QUIT 4 5pygame.init() 6window=pygame.display.set_mode((400,300)) 7pygame.display.set_caption("関数のグラフ") 8fpsclock=pygame.time.Clock() 9 10func=input("f(x)=x") 11 12def main(): 13 while True: 14 for event in pygame.event.get(): 15 if event.type==QUIT: 16 pygame.quit() 17 sys.exit() 18 19 window.fill((0,0,0)) 20 21 pygame.draw.line(window,(255,255,255),(0,150),(400,150)) 22 pygame.draw.line(window,(255,255,255),(200,0),(200,300)) 23 24 x=200 25 y=150 26 while x<=400: 27 x+=0.1 28 y=eval('x'+func) 29 pointlist1 = [] 30 pointlist1.append((x,y)) 31 pygame.draw.lines(window,(255,255,255),False,pointlist1) 32 if x==400: 33 break 34 35 x=200 36 y=150 37 pointlist2 = [] 38 while x>=0: 39 x-=0.1 40 y=eval('x'+func) 41 pointlist2.append((x,y)) 42 pygame.draw.lines(window, (255, 255, 255), False, pointlist2) 43 if x==0: 44 break 45 46 pygame.display.update() 47 fpsclock.tick(3) 48 49if __name__=='__main__': 50 main() 51 52
これを実行すると
line 31, in main
pygame.draw.lines(window,(255,255,255),False,pointlist1)
ValueError: points argument must contain more than 1 points
というエラーが出てしまいます。
ポイントリストに点の位置を代入しているはずなのに、こんなエラーが出るのは
なぜなのでしょうか。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/19 10:17
2018/04/19 10:18
2018/04/19 10:21 編集