首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中导入模块时出错

在Python中导入模块时出错
EN

Stack Overflow用户
提问于 2014-06-22 17:45:53
回答 1查看 105关注 0票数 0

我试图创建一个地牢开发程序,我有许多模块,我正在使用。我有一个主模块,一个地板模块,一个房间模块,和一个瓷砖模块。地板是房间的网格,是瓷砖的网格。在我的楼层模块中,我导入了Room,这样我就可以存储一个二维的房间列表,但是我一直收到错误:

代码语言:javascript
复制
Traceback (most recent call last):
 File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\MainWork.py", line 15, in <module>
  floor = Floor.Floor()
 File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\Floor.py", line 6, in __init__
  rooms = [[Room.RoomClass(i, j) for i in range(7)] for j in range(7)]
 File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\Floor.py", line 6, in <listcomp>
  rooms = [[Room.RoomClass(i, j) for i in range(7)] for j in range(7)]
 File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\Floor.py", line 6, in <listcomp>
  rooms = [[Room.RoomClass(i, j) for i in range(7)] for j in range(7)]
NameError: global name 'Room' is not defined

我的代码如下。

Mainwork.py

代码语言:javascript
复制
import Enemy
import Player
import Ribbon
import random
import Floor
import Room
import pygame as pyg
pyg.init()

screenWidth = 1280
screenHeight = 720
Player.health = 100
FPS = 60

floor = Floor.Floor()
floor.printgrid()

def mainLoop():
    pass

Floor.py

代码语言:javascript
复制
class Floor(object):

    import Room

    def __init__(self):
        rooms = [[Room.Room(i, j) for i in range(7)] for j in range(7)]
        current = [0, 0]
        roomStack = []
        totalRooms = 49
        visitedRooms = 1

Room.py

代码语言:javascript
复制
class Room(object):

    import Tile

    def __init__(self, floorx, floory, layout=[[0 for i in range(13)] for j in range(7)]):
        self.floorx = floorx
        self.floory = floory
        self.doors = [False, False, False, False]  # N,S,E,W
        for i in layout:
            for j in i:
                self.layout[i][j] = Tile.Tile(layout[i][j])

Tile.py

代码语言:javascript
复制
class Tile(object):

    def __init__(self, state):
        self.state = state

我根本不知道会有什么问题。提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-22 17:51:50

Floor.py中,import Room是一个class属性,因此您必须使用类对象来访问它。试着用..。

代码语言:javascript
复制
import Room

class Floor(object):

    def __init__(self):
        # other code goes here ....
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24353960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档