質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

6062閲覧

python pygame エラーがでてしまう

yuna1

総合スコア10

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/02/02 01:04

編集2022/01/12 10:55

前提・実現したいこと

プログラミング、pythonともに初心者です。
python3.7(32bit)でpygameを使い、短形を表示させようとしているのですが、19行目からSyntaxErrorとindentationerrorがでてしまいます。
改善点を教えていただきたいです。
よろしくお願いします。
なお、以下のコード中のシャープの前の/は本来はつけておらず、表記上の都合でつけさせていただきました。

###該当のソースコード

python

1import sys 2import pygame 3 4from pygame.locals import QUIT,Rect 5 6pygame.init() 7SURFACE = pygame.display.set_mode((400,300)) 8FPSCLOCK = pygame.time.Clock() 9 10def main(): 11 """main routine""" 12 while True: 13 for event in pygame.event.get(): 14 if event.type == QUIT: 15 pygame.quit() 16 sys.exit() 17 SURFACE.fill((255,255,255)) 18 #赤:短形(塗りつぶし) 19     pygame.draw.rect(SURFACE,(255,0,0),(10,20,100,50)) 20 #赤:短形(太さ3) 21     pygame.draw.rect(SURFACE,(255,0,0),(150,10,100,30),3) 22 #緑:短形 23     pygame.draw.rect(SURFACE,(0,255,0),((100,80),(80,50))) 24 #青:短形、Rectオブジェクト 25     rect0 = Rect(200,60,140,80) 26 pygame.draw.rect(SURFACE,(0,0,255),rect0) 27 #黄:短形、Rectオブジェクト   28     rect1 =Rect((30,160),(100,50)) 29 pygame.draw.rect(SURFACE,(255,255,0),rect1) 30 pygame.display.update() 31 FPSCLOCK.tick(3) 32 33if __name__ =="__main__": 34 main()

###実行後の画面
SURFACE.fill((255,255,255))
... /#赤:短形(塗りつぶし)
...     pygame.draw.rect(SURFACE,(255,0,0),(10,20,100,50))
File "<stdin>", line 10
pygame.draw.rect(SURFACE,(255,0,0),(10,20,100,50))
^
SyntaxError: invalid character in identifier

/#赤:短形(太さ3)

...     pygame.draw.rect(SURFACE,(255,0,0),(150,10,100,30),3)
File "<stdin>", line 2
pygame.draw.rect(SURFACE,(255,0,0),(150,10,100,30),3)
^
SyntaxError: invalid character in identifier

/#緑:短形

...     pygame.draw.rect(SURFACE,(0,255,0),((100,80),(80,50)))
File "<stdin>", line 2
pygame.draw.rect(SURFACE,(0,255,0),((100,80),(80,50)))
^
SyntaxError: invalid character in identifier

/#青:短形、Rectオブジェクト

...     rect0 = Rect(200,60,140,80)
File "<stdin>", line 2
rect0 = Rect(200,60,140,80)
^
SyntaxError: invalid character in identifier

pygame.draw.rect(SURFACE,(0,0,255),rect0)

File "<stdin>", line 1
pygame.draw.rect(SURFACE,(0,0,255),rect0)
^
IndentationError: unexpected indent

/#黄:短形、Rectオブジェクト  

...     rect1 =Rect((30,160),(100,50))
File "<stdin>", line 2
rect1 =Rect((30,160),(100,50))
^
SyntaxError: invalid character in identifier

pygame.draw.rect(SURFACE,(255,255,0),rect1)

File "<stdin>", line 1
pygame.draw.rect(SURFACE,(255,255,0),rect1)
^
IndentationError: unexpected indent

pygame.display.update()

File "<stdin>", line 1
pygame.display.update()
^
IndentationError: unexpected indent

FPSCLOCK.tick(3)

File "<stdin>", line 1
FPSCLOCK.tick(3)
^
IndentationError: unexpected indent

if name =="main":

... main()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayataka2049

2019/02/02 02:29

コードはhttps://teratail.com/tour を参考にシンタックスハイライト・マークダウンの中に入れると良いですよ。質問文は再編集できます。
can110

2019/02/02 02:30

インデントがなくなっています。ソースコードはコードブロックで囲んでください。
guest

回答1

0

こちらを コピペしてみてください

python

1import sys 2import pygame 3 4from pygame.locals import QUIT,Rect 5 6pygame.init() 7SURFACE = pygame.display.set_mode((400,300)) 8FPSCLOCK = pygame.time.Clock() 9 10def main(): 11 """main routine""" 12 while True: 13 for event in pygame.event.get(): 14 if event.type == QUIT: 15 pygame.quit() 16 sys.exit() 17 SURFACE.fill((255,255,255)) 18 #赤:短形(塗りつぶし) 19 pygame.draw.rect(SURFACE,(255,0,0),(10,20,100,50)) 20 #赤:短形(太さ3) 21 pygame.draw.rect(SURFACE,(255,0,0),(150,10,100,30),3) 22 #緑:短形 23 pygame.draw.rect(SURFACE,(0,255,0),((100,80),(80,50))) 24 #青:短形、Rectオブジェクト 25 rect0 = Rect(200,60,140,80) 26 pygame.draw.rect(SURFACE,(0,0,255),rect0) 27 #黄:短形、Rectオブジェクト 28 rect1 =Rect((30,160),(100,50)) 29 pygame.draw.rect(SURFACE,(255,255,0),rect1) 30 pygame.display.update() 31 FPSCLOCK.tick(3) 32 33if __name__ =="__main__": 34 main()

投稿2019/02/11 13:59

Reach

総合スコア733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuna1

2019/02/18 14:37

コピペしたら解決しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問