Как построить график имея строку, а не выражение?
У меня есть строка, которую вводит пользователь и с помощью неё нужно построить график. Можно ли как-нибудь конвертировать строку в выражение? Строка вида 'x**2+x*2+12'. Это только пример, в самом коде есть Try и Expect. пример кода:
import numpy as np
import matplotlib.pyplot as plt
a = input()
x = np.arange(-10, 10.01, 0.01)
plt.plot(x,a)
plt.show()
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
В первом приближении можно использовать eval
, хотя это и очень небезопасно. Мало ли что там напишет пользователь, может он вам диск С захочет отформатировать (условно говоря).
import numpy as np
import matplotlib.pyplot as plt
a = input() # x**2+x*2+12
x = np.arange(-10, 10.01, 0.01)
y = eval(a)
plt.plot(x,y)
plt.show()