一个简单的Python一元一次方程计算器

一个简单的Python一元一次方程计算器,第1张

一个简单的Python一元一次方程计算器

我今天突发奇想,决定用python写一个方程计算器(重点是能自然的输入表达式求解)
算法是十分钟想的,代码是半小时赶完的,文章是五分钟敲完的。。。
没写注释(太懒了),而且数字和x之间不能省略乘号否则会报错
总而言之,这是一个很简陋的程序,后面会不断改进
代码:

import re

print("--------一元一次方程计算器--------")
print("注意:不要省略乘号,如5x应写为5*x")
a = input("输入:")

i = 0
for i in range(len(a)):
    if a[i] == "=":
        break

x = 1
newL = re.sub('x', str(x), a[0:i])
newR = re.sub('x', str(x), a[i + 1:])
r1L = eval(newL)
r1R = eval(newR)

x = 2
newL = re.sub('x', str(x), a[0:i])
newR = re.sub('x', str(x), a[i + 1:])
r2L = eval(newL)
r2R = eval(newR)

delta = r2L - r2R - r1L + r1R
k = delta
correct = abs(r2L - r2R) / k
if abs(r2L - r2R) > abs(r1L - r1R):
    x -= correct
elif abs(r2L - r2R) < abs(r1L - r1R):
    x += correct
elif abs(r2L - r2R) == abs(r1L - r1R):
    x = 0
print("x=", x)

运行效果图:

随手记一下,如果有需要的自己改一改(能看懂就很好了)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5689666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存