[英]How to get a mathematical function as user's input in Python and use it in a loop
我使用f = lambda x: input()
來獲得一個數學函數作為用戶的輸入。 我把它放在一個 for 循環中,但在每次迭代中都需要輸入。 如何僅將函數存儲在變量中一次並在循環中使用它?
這是我的代碼:
from math import cos, sin, pow, e
n = int(input('Number of elements in partition: '))
print('The range is set at ...... ')
minimum = int(input('Minimum: '))
maximum = int(input('Maximum: '))
f = lambda x: eval(input('Enter a funtion: '))
fraction = (maximum - minimum) / (n-1)
UpperSum = 0
LowerSum = 0
for i in range(1, n):
UpperSum = UpperSum + fraction * f(fraction * i)
LowerSum = LowerSum + fraction * f(fraction * (i - 1))
您專門將函數輸入作為函數本身的一部分:
f = lambda x: eval(input('Enter a funtion: '))
正如那句老話所說,“如果你這樣做會痛,那就不要那樣做!” 只輸入一次函數:
func_text = input('Enter a function: ')
func_eval = eval(func_text)
f = lambda x: func_eval
我把它分解了一個額外的步驟。 不過,重點是讀取輸入,對其進行評估,然后僅對您調用的函數進行評估。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.