also hier ist ein Code, den ich habe, soll Text vom Benutzer eingegeben nehmen und ein Wörterbuch erstellen. Kann mir jemand sagen, warum ich einen Trace-Back-Fehler bekomme, wenn ich die Funktion main() aufruft?Warum erhalte ich einen Fehler beim Aufruf von main()?
def build_index(text):
index = {}
words = text.split()
position = 0
for x in text:
if x.isalpha() == False and x.isdigit() == False:
text.join(x)
else:
text.replace(x,'')
while position < len(words):
nextword = words[position]
if nextword in index:
ref = index[nextword]
ref.append(position)
index[nextword] = ref
else:
list = []
list.append(position)
index[nextword] = list
position += 1
def displayindex(index):
keys = sorted(index.keys())
for key in keys:
print(key + ':' + str(index[key]))
def main():
text = input("enter text")
build_index(text)
displayindex(index)
main()
Können Sie den Traceback-Fehler buchen? –
Btw, Sie ordnen die Rückgabewerte von 'text.join (x)' und 'text.replace (x, '')' nicht zu. Sie ändern die Zeichenkette, von der sie aufgerufen wurden, nicht. Sie geben nur eine neue Zeichenkette mit der von Ihnen gewünschten Änderung zurück. –
Bitte bearbeiten Sie Ihre Frage so, dass sie die Rückverfolgung _complete_ enthält. Das würde Ihre Frage für andere nützlich machen, die das gleiche Problem haben. Es würde auch helfen, wenn Sie Ihren Titel so bearbeiten, dass er den Namen der ausgelösten Ausnahme enthält (wie NameError) ..., um anderen zu helfen, diese Frage zu finden. –