字典键错误,尽管存在该键

2024-10-02 02:26:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有点不知所措。我在一个字典里初始化了一个字典,在我想检查while语句中定义的值之前,它一直工作得很好。在

在这里我得到了一个关键错误“屏幕宽度”。 我的第一次尝试是通过将整个字典写入一个.txt文件,然后是我在while中访问的子字典部分本身来查看变量是否被意外地修改了…..所有这些都起作用,并得到了我预期的结果,但仍然在while I ge键错误中。在

初始化:

    def __init__(self):
        self.Data = {
            'Configuration': { 'MaxMapWidth':  256, 'MaxMapHeight': 256,
                               'TileWidth':   1216, 'TileHeight':   694,
                               'ScreenWidth': 1366, 'ScreenHeight': 768,
                               'MaxBiewDistance': 10 },
            'Map': {},
            'Tiles': {},
            'Player': {
                'Position': { 'MapName': None, 'X': 1, 'Y': 1, 'Direction': 0 }# in degree }

            }
        }

方法:

^{pr2}$

txt文件中的值:

Map
    Forest
Tiles
    tile003
    tile002
    tile001
    tile007
    tile006
    tile005
Configuration
    ScreenHeight
          768
    ScreenWidth
          1366
    MaxMapWidth
          256
    TileHeight
          694
    TileWidth
          1216
    MaxBiewDistance
          10
    MaxMapHeight
          256
Player
    Position
1366

除了关键错误之外,我想说的是,一切都如期而至。所以我这里的问题是,是什么导致了这个密钥错误(尤其是当它看起来都是正确的并且密钥存在时)?在


Tags: 文件selftxt字典错误configuration关键while
1条回答
网友
1楼 · 发布于 2024-10-02 02:26:02

你犯了一个错误仔细看看:

   f.write(str(self.Data['Configuration']['ScreenWidth']))
        while (rayNumber < self.Data['Configuration']['Screenwidth']):

第一次用大写字母W拼写,第二次用小写字母拼写。这是两个不同的,不相关的子键。在

相关问题 更多 >

    热门问题