所以我查看了類似的問題,我仍然遇到同樣的問題,無法弄清楚。對於此編程任務,我正在爲Clite詞典的一小部分創建詞法分析的簡化版本。我從輸入文件中提取令牌,輸出我的分析結果。我正在爲使用字典創建的標識符創建一個符號表。當我在不同的行上找到相同的標識符時,我需要在符號表中追加找到的行。例如,我在第2行找到標識符「number18」,並再次在第7行。所以符號表需要從{number18:2}到{number18:2,7}Python錯誤:AttributeError:'int'對象沒有屬性'追加'
問題出現在我嘗試追加新的行號到當前字典條目。我在問題標題中發佈錯誤。這裏是我的代碼迄今
y = 0
s2 =()
stable = dict()
for line in open("Sample.txt","r"):
x1 = ''
for char in line:
if char.isalpha():
x1 = x1 + char
elif char.isdigit():
x1 = x1 + char
elif char == '.':
x1 = x1 + char
elif x1 != '':
break
#print (x1)
if (x1 == "for" or x1 == "bool" or x1 == "char" or x1 == "else" or x1 == "false" or x1 == "float" or x1 == "if" or x1 == "int" or x1 == "main" or x1 == "true" or x1 == "while"):
s2=(y,"Keyword",x1)
elif x1.isidentifier():
s2=(y,"Identifier",x1)
if x1 in stable.keys():
stable[x1].append(y)
else:
stable[x1]=y
elif x1.isdigit():
s2=(y,"Int",x1)
else:
s2=(y,"Float",x1)
print (s2)
y=y+1
print (stable)
未來,請包括您得到的異常的* full *追蹤,所以我們不必猜測哪條線路導致您的問題。 –
可能你需要在這裏使用'defaultdict'。 –