🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

2822閲覧

Tracebackエラー

NOB109

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/12/09 16:59

Python実行時以下のエラー発生
以下のモジュールがエラーの原因なのか、判断できません

発生している問題・エラーメッセージ

F:\Python>py snake.py
Traceback (most recent call last):
File "snake.py", line 1, in <module>
import curses
File "C:\Users\XXX\AppData\Local\Programs\Python\Python38-32\lib\curses_init_.py", line 13, in <module>
from _curses import *
ModuleNotFoundError: No module named '_curses'

該当のソースコード

Python

1 2import curses 3import random 4 5curses.initscr() 6 7win = curses.newwin(24,70,0,0) 8win.border(0) 9courses.noecho() 10courses.curs_set(0) 11win.keypad(1) 12win.nodelay(1) 13win.timeout(100) 14 15score = 0 16 17snake = [[12,13],[12,14],[12,15]] 18 19food = [20,20] 20win.addch(food[0],food[1],'$') 21 22key = curses.KEY_LEFT 23 24win.addstr(0, 30, 'Snake Game') 25 26while True: 27 win.addstr(0, 3, '点数: ' + str(score) + ' ') 28 win.timeout(100) 29 30 newKey = win.getch() 31 32 if newKey not in [curses.KEY_LEFT,curses.KEY_RIGHT,curses.KEY_UP,curses.KEY_DOWN]: 33 key = key 34 35 else: 36 key = newKey 37 38 if snake[0][0] == 0 or snake[0][0] == 23 or snake[0][1] == 0 or snake[0][1] == 69: 39 brake 40 41 if snake[0] in snake[1:]: 42 brake 43 44 newHead = [snake[0][0],snake[0][1]] 45 46 if key == curses.KEY_DOWN: 47 newHead[0] += 1 48 if key == curses.KEY_UP: 49 newHead[0] -= 1 50 if key == curses.KEY_LEFT: 51 newHead[1] -= 1 52 if key == curses.KEY_RIGHT: 53 newHead[1] += 1 54 55 snake.insert(0,newHead) 56 57 if snake[0] == food: 58 score += 1 59 food = [] 60 food = [random.randint(1,22),random.randint(1,68)] 61 win.addch(food[0],food[1],'$') 62 63 else: 64 tail = snake.pop() 65 win.addch(tail[0],tail[1],' ') 66 win.addch(snake[0][0],snake[0][1],curses.ACS_CKBOARD) 67 68print ('Score: '+str(score)) 69curses.endwin() 70 71 72### 試したこと 73 74・Pythonファイルの場所を変えて実行 75・エラー表示のファイルの中身を確認 76 77### 補足情報(FW/ツールのバージョンなど) 78 79Python3.8.2

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

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

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

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

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

guest

回答1

0

cursesというモジュールがないのがエラーの原因です。
Windowsを使用している場合は、そもそもcursesはないようなので、移植版の「UniCurses」を利用してくださいと書いてあります。
書いてあった記事はこちらです
Python で Curses プログラミング

投稿2020/12/09 23:08

norapomu

総合スコア224

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

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

NOB109

2020/12/10 10:54

ありがとうございます。こういうモジュールもあるんですね。勉強になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問