Уведомления

Группа в Telegram: @pythonsu

#1 Июль 30, 2018 19:59:45

evgeniy2018123
Зарегистрирован: 2018-07-30
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Голосовой калькулятор

Привет всем ребята нужна помощь я думаю для экспертов будет легко !
Вообщем ребят надо сделать голосовой калькулятор ! я уже все сделал голос распознование и тд (через google api ) так вот когда я говорю допустим 5 + 5 он разпознает 5 + 5 а как сделать так что бы пример перевелся в int или как-то по другому ? кто знает ? как ето решить ?

Офлайн

#2 Июль 30, 2018 22:15:56

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Голосовой калькулятор

evgeniy2018123 в каком виде оно тебе возвращает результат?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Июль 31, 2018 01:38:30

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Голосовой калькулятор

Если выражения не сложные, то можно просто применять регулярные выражения для распознавания известных выражений. Если же выражения произвольные, то надо строить синтаксический анализатор со всеми прелестями - построение грамматики, рекурсивный спуск, построение дерева операций. Так что начни с простого, оно хоть порадует тебя результатом.



Офлайн

#4 Июль 31, 2018 08:15:06

evgeniy2018123
Зарегистрирован: 2018-07-30
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Голосовой калькулятор

PEHDOM
evgeniy2018123 в каком виде оно тебе возвращает результат?
вид(строка) еслия я говорю : 5 + 5 ; то она выводит уже красиво в консоле 5 + 5
как теперь его в int перевести(обычным способом ошибка )??
py.user.next
Если выражения не сложные, то можно просто применять регулярные выражения для распознавания известных выражений. Если же выражения произвольные, то надо строить синтаксический анализатор со всеми прелестями - построение грамматики, рекурсивный спуск, построение дерева операций. Так что начни с простого, оно хоть порадует тебя результатом.
Спасибо ну а можно ка който пример ? или я ща в гугле посижу

Отредактировано evgeniy2018123 (Июль 31, 2018 08:17:18)

Офлайн

#5 Июль 31, 2018 11:25:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Голосовой калькулятор

  
>>> def parse(text):
...     parts = text.split()
...     val1, op, val2 = int(parts[0]), parts[1], int(parts[2])
...     return (val1, val2, op)
... 
>>> def operate(val1, val2, op):
...     if op == '+':
...         return val1 + val2
...     if op == '-':
...         return val1 - val2
...     if op == '*':
...         return val1 * val2
...     if op == '/':
...         if val2 != 0:
...             return val1 / val2
...         raise ValueError('zero in denominator')
... 
>>> operate(*parse('5 + 10'))
15
>>> operate(*parse('5 * 10'))
50
>>>



Отредактировано py.user.next (Июль 31, 2018 11:27:52)

Офлайн

#6 Авг. 1, 2018 11:12:16

evgeniy2018123
Зарегистрирован: 2018-07-30
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Голосовой калькулятор

py.user.next
Спасибо попробую!!

Офлайн

#7 Авг. 14, 2018 21:38:20

sosok43k
Зарегистрирован: 2017-01-29
Сообщения: 30
Репутация: +  1  -
Профиль   Адрес электронной почты  

Голосовой калькулятор

Пишите на почту, готов все обьяснить

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version