我正在尝试制作一个程序来查找功能的限制,但是,我找不到任何有效的方法来要求用户输入功能,或者将任何类型的用户输入转换为一个最好的我发现使用的方式:
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")
答案 0 :(得分:0)
您可以使用compile
函数将用户的输入编译为AST对象,以便您的lambda
函数可以eval
的AST对象,而无需再次询问用户输入: / p>
func = compile(input("veuillez introduire la fonction avec pour variable n"), '<input>', 'eval')
f = lambda n: eval(func)