Как найти коэффициент уравнения линии? - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь получить коэффициенты a, b, c из линейного уравнения "ax + by + c", без использования NumPy или каких-либо библиотек. Я попытался разобрать строку, но она не удалась, пожалуйста, помогите мне, я новичок в python.

1 Ответ

2 голосов
/ 28 февраля 2020

Если вы хотите проанализировать строку с числами для a, b и c, то следующий пример python покажет вам, как это сделать:

import re

p = re.compile('([\d*\.\d+|\d+]+)x\+([\d*\.\d+|\d+]+)y\+([\d*\.\d+|\d+]+)')
m = p.match("1.2x+3y+4.5")

print("a=%s" % m.group(1))
print("b=%s" % m.group(2))
print("c=%s" % m.group(3))

или без использования регулярных выражений :

e = "1.2x-3y+4.5"

p=['']
for c in e: # loop through all characters
    if c in ['.', '-'] or c.isdigit(): # if it's dot, minus or digit append it to the last parameter
      p[len(p) - 1] += c
    else: # otherwise create a new parameter 
        if len(p[len(p) - 1]) != 0: # when there isn't one yet
            p.append('') # append new parameter

print("a=%s" % p[0])
print("b=%s" % p[1])
print("c=%s" % p[2])
...