v
- это просто строка символов. Скобки вокруг него превращают его в кортеж из одного элемента - той же строки. Вы ничего не сделали, чтобы превратить его в функцию - что нетривиально ни на одном языке программирования, поскольку вы пытаетесь внедрить новый код в программу, которая уже была проанализирована.
Python предоставляет для этого функцию eval . Однако будьте осторожны, так как eval
довольно мощный и опасный.
my_func = "x*x + 2*x - 3"
limit = 5
y_vals = []
for x in range (1,limit+1):
y_vals.append(eval(my_func))
print(y_vals)
Выход:
[0, 5, 12, 21, 32]