так вот какой код у меня есть, который должен взять текст, введенный пользователем, и создать словарь. Может ли кто-нибудь сказать мне, почему я получаю ошибку трассировки, когда я вызываю функцию main()?Почему я получаю сообщение об ошибке при вызове 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()
Можете ли вы разместить сообщение об ошибке трассировки? –
Кстати, вы не назначаете возвращаемые значения из 'text.join (x)' и 'text.replace (x, '')' на что угодно. Они не изменяют строку, из которой они были вызваны, они просто возвращают новую строку с изменениями, которые вы задали для –
. Пожалуйста, отредактируйте свой вопрос, чтобы включить _complete_ traceback. Это сделало бы ваш вопрос полезным для других, которые столкнулись с одной и той же проблемой. Это также помогло бы, если бы вы отредактировали свой заголовок, чтобы включить имя исключения, которое было поднято (например, NameError) ... снова, чтобы помочь другим найти этот вопрос. –