Вам трудно написать программу для понимания и оценки выражений, особенно таких, которые включают такие функции, как sin
или sqrt
.Однако, если вы уверены, что пользователь вашей программы в безопасности (а это обычно неверное предположение), вы можете заставить Python выполнить оценку с помощью встроенной функции eval
.Вы можете попробовать это:
import math
strexpr = input('enter: ')
print(eval(strexpr))
Затем, если вы запустите эту программу и пользователь наберет math.sin(2)
, программа напечатает
0.9092974268256817
, что является правильным значением синусадва радиана.
ПРИМЕЧАНИЕ: Эта небольшая программа позволит пользователю набрать любое правильное выражение Python и затем оценить его.Если пользователь знает, как, он мог бы использовать это, чтобы отформатировать жесткий диск и уничтожить все ваши данные или сделать все виды вреда.Используйте это, только если вы полностью уверены в пользователе.Но как ты можешь быть уверен в ком-то еще?