我有一个问题。
1.0X + 1.0Y + -7.0 = 0
如何更好地打印方程式?
例如,而不是+ - 7.0我想要打印-7.0;或者在系数为零的情况下。
由于
答案 0 :(得分:3)
答案 1 :(得分:1)
通过一些替换,您可以实现更清洁的等式:
equation = "1.0X + 1.0Y - -0.0Z + -7.0 = 0"
new_equation = equation.gsub('+ -', '- ')
.gsub('- -', '+ ')
.gsub(/^\s*\+/, '') # Remove leading +
.gsub(/(?<=\d)\.0+(?=\D)/, '') # Remove trailing zeroes
.gsub(/\b1(?=[a-z])/i, '') # Remove 1 in 1X
.gsub(/[+-]? ?0[a-z] ?/i, '') # Remove 0Z
p new_equation
# "X + Y - 7 = 0"
顺便说一下,尽管我喜欢Ruby,但我必须说Sympy是一个很棒的项目。仅这个库就值得学习基本的Python语法。