python解一元一次方程式(随手写的,变量名称懒得改了)

import re
weiZhi = input('请输入未知数')
value = []
a=""
changDu = len(weiZhi)
xunHuanCiShu=0
for i in weiZhi:
     xunHuanCiShu += 1
     if i!="+" and i !="-" and i!="=":
          a=a+i
     if i=="+" or i=="-" and i!="=":
          if a!="":
               value.append(a)
          a=""
          a=a+i
     if i == "=":
          value.append(a)
          value.append(i)
          a=""
     if xunHuanCiShu == changDu:
          value.append(a)

a=""
xunHuanCiShu=0

b=len(value)
for j in range(0,b+1):
     xunHuanCiShu=0
     for i in value:
          dhWeiZhi = value.index('=')
          if i[:1]=='+' and xunHuanCiShu<dhWeiZhi:
               if i[1:].isdigit():
                    a='-'+i[1:]
                    del value[xunHuanCiShu]
                    value.insert(dhWeiZhi+1,a)
                    
          if i[:1]=='-' and xunHuanCiShu<dhWeiZhi:
               if i[1:].isdigit():
                    a='+'+i[1:]
                    del value[xunHuanCiShu]
                    value.insert(dhWeiZhi+1,a)
          if i[:1]=='+' and xunHuanCiShu>dhWeiZhi:
               if i[1:].isdigit() == False:
                    a='-'+i[1:]
                    del value[xunHuanCiShu]
                    value.insert(dhWeiZhi-1,a)
          if i[:1]=='-' and xunHuanCiShu>dhWeiZhi:
               if i[1:].isdigit() == False:
                    a='+'+i[1:]
                    del value[xunHuanCiShu]
                    value.insert(dhWeiZhi-1,a)
          if i[:1].isdigit() and xunHuanCiShu>dhWeiZhi:
               if i.isdigit() == False:
                    a='-'+i
                    del value[xunHuanCiShu]
                    value.insert(dhWeiZhi-1,a)
          xunHuanCiShu += 1
     
print(value)
dhWeiZhi = value.index('=')
xunHuanCiShu=0
a=0
c=[]  ##存储未知数前面的数字及符号
e = ""
for i in value:
     if xunHuanCiShu<dhWeiZhi:##对等号前后的内容进行处理
          e = ""
          for j in i:
               if j.isalpha()==False:  ##判断当前内容是不是符号和数字
                    e=e+j
          c.append(e)   
     if xunHuanCiShu>dhWeiZhi:
          a=a+int(i)##统计等号后面的值
     xunHuanCiShu += 1
     
e = 0
for i in c:
     e=e+int(i)     ##求未知数前面的内容的值
g = ""
xunHuanCiShu=0
for i in value:
     if xunHuanCiShu<dhWeiZhi:##对等号前后的内容进行处理
          for j in i:
               if j.isalpha():
                    g = j
print("未知数 "+g+" 的值为:"+str(a/int(e)))
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子杣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值