Как обрабатывать математическую функцию? В общем на вход будет вводиться математическое выражение, в котором будет вычисляться Y и есть X (при помощи цикла будет пробегаться по списку иксов и подставляться). После с помощью списков x-ов и y-ов будет построен график.
Как безопаснее всё это сделать? Подскажите

21 Авг 2019 в 06:09
176 +1
0
Ответы
1

Для безопасного выполнения математических выражений, введенных пользователем, можно использовать библиотеку eval в Python. Это позволит безопасно вычислять математические выражения, которые вводит пользователь.

Пример кода:

import matplotlib.pyplot as plt
import numpy as np
# Ввод математического выражения
expr = input("Введите математическое выражение: ")
# Создание списка значений X
x = np.linspace(-10, 10, 100)
# Вычисление значений Y
y = [eval(expr) for x_val in x]
# Построение графика
plt.plot(x, y)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('График функции ' + expr)
plt.grid(True)
plt.show()

При использовании функции eval следует быть осторожным, чтобы не допустить выполнения вредоносного кода или несанкционированного доступа к системе. Возможно также ограничить доступные операции и функции, которые могут быть использованы в математическом выражении.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир