Эта программа должна принять правила грамматики, найденные в Binary.text и хранить их в словарь, где правила:Словари перезапись в Python
N = N D
N = D
D = 0
D = 1
но текущий код возвращает D: D = 1, N: N = D, в то время как я хочу N: ND, N: D, D: 0, D: 1
import sys
import string
#default length of 3
stringLength = 3
#get last argument of command line(file)
filename1 = sys.argv[-1]
#get a length from user
try:
stringLength = int(input('Length? '))
filename = input('Filename: ')
except ValueError:
print("Not a number")
#checks
print(stringLength)
print(filename)
def str2dict(filename="Binary.txt"):
result = {}
with open(filename, "r") as grammar:
#read file
lines = grammar.readlines()
count = 0
#loop through
for line in lines:
print(line)
result[line[0]] = line
print (result)
return result
print (str2dict("Binary.txt"))
Ваши грамматические правила ясны: поскольку вы назначая тот же параметр дважды, последнее присваивание принимает (словарь может сохранить только одно значение для ключа). – alfasin
Я знаю, что это проблема, как я могу сделать так, чтобы она не перезаписывалась и вместо этого создавала новую запись с тем же ключом? – FullCombatBeard
Как выглядит ваш .txt-файл? – GLHF