@Pproger_12

Как ввести математическое выражение в Python?

Я написал программу которая строит графики двух переменных но мне нужно организовать так чтоб функция не была забита в программе а ее вводил пользователь. Я пробовал это сделать но не выходит так как ввод возвращает строку а не математическое выражение. Как нужно правильно это организовать?
  • Вопрос задан
  • 866 просмотров
Решения вопроса 2
stryaponoff
@stryaponoff
PHP developer
Всё верно - пользователь же вводит именно строку, а дальше вам надо её распарсить: выделить отдельно числа и математические операторы и, в зависимости от этого, совершать манипуляции над числами. Задача немного более сложная, чем вы её себе представляете.
Ответ написан
@trofimovdev
Python
Как вариант:
print(eval(input()))
>>> 5 + 1
>>> 6
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Konstantin18ko
@Konstantin18ko
Стоматолог
>>> a = "545.2222"
>>> float(a)
545.22220000000004
>>> int(float(a))
545
Ответ написан
@a458312
import numpy as np
import matplotlib.pyplot as plt

eqn = input()
y_list = []
x_list = np.linspace(-10, 10, 201)
for x in range(len(x_list)):
    eqn_list = list(eqn)
    for i in range(0, len(eqn_list)):
        if eqn_list[i] == 'x':
            eqn_list[i] = str(x_list[x])
    y = ''.join(eqn_list)
    print(eval(y), x_list[x])
    y_list.append(eval(y))
plt.grid()
plt.plot(x_list, y_list)
plt.show()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы