OK Я пытаюсь читать во внешнем файле в словаре, но я получаю некоторые синтаксические ошибки. Затем ключи, которые считываются, должны заменить буквы, с которыми они связаны, в списке закодированных словПопытка прочитать во внешнем файле в словаре
Мой код для чтения в словаре и замены символов выглядит следующим образом.
d = {}
def read_clues(clues):
global d
with open("hey.txt") as f:
for line in f:
(key, val) = line[1], line[0]
d[key] = val
def replace_symbols(clues, words):
global d
for word in range(len(words)):
for key, value in d.items():
words[word] = words[word].replace(key, value)
В основной части моей программы у меня есть код для вызова replace_symbols. Однако я получаю синтаксическую ошибку после ключа печати в последней строке. Код для этого показан ниже.
#REPLACES LETTERS
print("======== The clues have been replaced ===========")
replace_symbols(clues, words)
for key, value in d.items():
print key, value // This will print the symbols and letters
Попробуйте прочитать полное сообщение об ошибке (все это), как правило, указывает вам, где именно лежит проблема - попробуйте подумать, почему эта часть может быть синтаксической ошибкой –
Также, если вы хотите помочь с определенной ошибкой, вы должны _post_ полное сообщение об ошибке, а не просто описывать это смутно. Ошибка (или другой вывод) является частью вашего [минимального, полного, проверяемого примера] (http://stackoverflow.com/help/mcve), а не только кода. – abarnert
Также, какую версию Python вы используете? Вы смешиваете функцию 'print' Python 3 и инструкцию' print' Python 2. Если вы на Python 3, последним будет «SyntaxError». Если вы находитесь на Python 2, они оба будут работать, но стиль функции может давать неожиданные результаты в различных случаях (например, 'print (1, 2)' будет печатать кортеж '(1, 2)' вместо печати '1 2'). – abarnert