Я практиковал переводчик ><> (Fish) и застрял на ошибке, которую я получаю. Проблемный код, кажется, здесь:KeyError с Python dictionary
import sys
from random import randint
file = sys.argv[1]
code = open(file)
program = code.read()
print(str(program))
stdin = sys.argv[2]
prgmlist = program.splitlines()
length = len(prgmlist)
prgm = {}
for x in range(0,length-1):
prgm[x+1] = list(prgmlist[x])
целью было взять код и поместить его в своем роде сетку, так что каждая команда может быть принята и вычисляется отдельно. По сетке, я имею в виду карту к списку:
{line1:["code","code","code"]
line2:["code","code","code"]
line3:...}
и так далее.
Однако, когда я пытаюсь получить команду с использованием cmd = prgm[y][x]
, она дает мне KeyError: 0
.
Любая помощь приветствуется.
Вот отслеживающий:
Traceback (most recent call last):
File "/Users/abest/Documents/Python/><>_Interpreter.py", line 270, in <module>
cmd = prgm[cmdy][cmdx]
KeyError: 0
И pastebin всего кода.
вход является привет мир программа со страницы вики:
!v"hello, world"r!
>l?!;o
Вы также должны добавить код, вызывающий проблему? Как и полная трассировка для того же самого. –
Кроме того, вы должны сообщить нам, что ваш вход/выход. –
Приведите примеры того, как выглядит ваш ввод. –