python3 ошибка с replace
Я создал голосового помощника. Когда я спрашиваю, сколько будет 5 умножить на 5, выводится ошибка:
print(f"ассистент: результат - {eval(text.replace('x','*'))}") File "<string>", line 1
5 х 5
^ SyntaxError: invalid syntax
Вот часть кода:
lst = list(query) # принимает слова в массив
l = lst[14::] # берёт срез от "сколько будет"
text = ""
for i in range(len(l)):
text += l[i]
print(f"Ассистент: Результат - {eval(text.replace('x','*'))}")
я пытался использовать replace но это не помогает
Ответы (1 шт):
Автор решения: Nikolai_Narushev
→ Ссылка
Скорее всего в тексте у вас "x" русской раскладки, а в replace "x" английской, поэтому и ошибка
Это связано в различии кодовом обозначении "x" в русской раскладке и английской, это связано с использованием разных стандартов кодирования (ASCII для английского и Unicode для многих языков, включая русский) и соответствующими кодами символов для буквы "x" в каждом из этих стандартов.
Используйте модуль "re"
import re
lst = list(query)
l = lst[14::]
text = "".join(l)
text = re.sub(r'х', '*', text, flags=re.IGNORECASE)
result = eval(text)
print(f"ассистент: результат - {result}")