我正在编写一个简单的python脚本来使用Eulers方法求解微分方程,现在每当我想求解一个新的方程时,都必须更改源代码。
(由于这是一个私人项目,所以目前安全问题并不重要。)
我的问题:
是否可以输入一个方程式作为用户输入并使其成为变量?例如,在输入y/x
的位置使用e=input("enter equation")
,并将e
设为变量供以后使用?
#I would like to be able to type in a equation as user input and turn it to a variable for later use in the if and elif segments, example
e=input("Enter your equation here")
e=float(e)
h=input("Ange steglängd: ")
h=float(h)
x=input("Angivet värde på x: ")
x=float(x)
y=input("Värde på y med anseende på x: ")
y=float(y)
z=input("Närmevärde du vill ha för y(x), ange x: ")
z=float(z)
if x<z:
while x<z:
#Type in equation below as e
e=y/x
y=y+h*e
x+=h
print(y)
elif x>z:
while x>z:
e=y/x
y=y-h*e
x-=h
print(y)
可以将
eval
与lambda函数结合使用,如下所示:要实际进行交互,请使用
raw_input()
获取实际表达式(在本例中为'lambda x, y: x/y'
)。或者,如果您不喜欢键入整个lambda
字眼,并且假设您总是有自变量x
和因变量y
,在类似y = f(x)
的等式中,您可以这样写:然后当系统提示您输入
'x/y'
时,您将输入'x/y'
。但是,您确定需要在
while
循环中使用它吗?泰克·弗尔·埃克森贝尔——这让我决定你需要什么。
是的,这是可能的。以字符串变量的形式读入公式,例如
然后,当您要查找e的值时,请使用Pythoneval方法:
使用这种方法要非常小心:
eval()
功能强大,并且对它接受的内容非常挑剔。相关问题 更多 >
编程相关推荐