Я немного в растерянности. Я инициализирую словарь в словаре, и он отлично работает, пока я не захочу проверить значение, определенное внутри оператора while.Ошибка ключевого слова словаря, несмотря на существующий ключ
Там я получаю ключевую ошибку для «ScreenWidth». Мои первые попытки состояли в том, чтобы увидеть, была ли переменная случайно изменена путем записи всего словаря в файл .txt, а затем самого элемента subdictionary, к которому я обращаюсь в то время ..... все, что работает, и дает мне результаты I ожидаемый, но все же внутри, пока я не ошибаюсь.
Initialization:
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 }
}
}
Метод:
def MyDo(self):
f = open("e:\\test\\test.txt", "w")
for key in self.Data:
f.write(key + "\n")
for subkey in self.Data[key]:
f.write(" " + subkey + "\n")
if ("Configuration" in key):
f.write(" " + str(self.Data[key][subkey]) + "\n");
rayNumber = 0
f.write(str(self.Data['Configuration']['ScreenWidth']))
while (rayNumber < self.Data['Configuration']['Screenwidth']):
#.... do my thing
rayNumber = rayNumber + 1
Значения внутри текстового файла:
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
Помимо ключевых ошибок я бы сказал, все это работает по назначению. Итак, мой вопрос заключается в том, что вызывает эту ключевую ошибку (особенно, поскольку все кажется правильной и существующей)?
Может быть, потому что ''ScreenWidth'! = 'Ширина экрана' (чувствительная к регистру!). См. Строку while while. – JCOC611
tnx перепробовал это сейчас часами. Я посмотрел на все prnounciation, .... но не на случай. tnx – Thomas
Кстати, было бы хорошо знать, почему -1 (из того, что я увидел, вопрос ясен, что это что-то нелепо, как письмо, которое было упущено, не должно присуждать - насколько я знаю, таким образом было бы приятно знать почему) – Thomas