[英]How do I accept a function as an input?
我正在嘗試編寫一個程序來接受和評估一個簡單的函數,例如:
A=[]
v = input("Enter Function of x: "
o = input("Enter length of range: ")
for x in range (1,o+1):
f = (v)
A.append(f)
但這只是在列表中返回函數文本(輸入字符串)“ o”次。 我究竟做錯了什么?
編輯:感謝@tdelaney的答案:使用f = eval(v)
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.