簡體   English   中英

如何在 Python 中獲取數學函數作為用戶的輸入並在循環中使用它

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM