我正在尝试制作一个程序来寻找函数的极限,但是,我找不到任何有效的方法来要求用户输入函数,或者将任何类型的用户输入转换成一个函数,我发现最好的方法是使用:
f= lambda n: eval(input("")
但是,使用这种方法,每次我运行到一个循环中时,都会要求用户一遍又一遍地输入函数,在这种情况下,这会使函数无法使用。我非常感谢您的反馈
抱歉,如果我的英语不好,我道歉,我是新来的,不是英语母语,如果有帮助,这里是完整的代码(所有的东西都是法语)
from lycee import *
n= int
# Rang actuel
f= lambda n: eval(input("veuillez introduire la fonction avec pour variable n"))
# Fonction introduite par l´usager
m= int(input("veuillez introduire la puisance de la valeur aussi grande, petite, ou proche que l´on veut"))
# Valeur max
l= int(input("veuillez introduire une limite eventuelle de la suite"))
d= int
# Prend une valeur selon la limite trouvé ou non
p= int(input("veuillez intoduire le pas"))
# Pas introduit par l´usager
x=int
# Valeur actuelle de la suite
n=1
d=0
x=0
#La limite est elle −∞?
while l>-10^m and n<10^15+1:
n=n+p
x=f(n)
if n==10^15+1:
print ("Après le calcul d’un billiard de termes, la suite ne semble pas tendre vers −∞")
else:
d=1
n=1
x=0
#La limite est elle +∞?
while l<10^m and n<10^15+1:
n=n+p
x=f(n)
if n==10^15+1:
print ("Après le calcul d’un billiard de termes, la suite ne semble pas tendre vers +∞")
else:
d=2
n=1
x=0
#La limite est elle l?
if l>=0:
while x+l>10^-m and n<10^15+1:
n=n+p
x=f(n)
if n==10^15+1:
print ("Après le calcul d’un billiard de termes, la suite ne semble pas tendre vers l")
else:
d=3
else:
while x-l>10^-m and n<10^15+1:
n=n+p
x=f(n)
if n==10^15+1:
print ("Après le calcul d’un billiard de termes, la suite ne semble pas tendre vers l")
else:
d=3
if d==1:
print ("Après le calcul d’un billiard de termes, la suite semble avoir pour limite −∞")
else:
if d==2:
print ("Après le calcul d’un billiard de termes, la suite semble avoir pour limite +∞")
else:
if d==3:
print ("Après le calcul d’un billiard de termes, la suite semble avoir pour limitel")
else:
print ("Après le calcul d’un billiard de termes, la suite semble ne pas avoir de limite")
您可以使用^{} 函数将用户的输入编译成AST对象,这样
lambda
函数就可以eval
AST对象,而不是再次要求用户输入:相关问题 更多 >
编程相关推荐