为了账号安全,请及时绑定邮箱和手机立即绑定

漂亮地打印一个因式多项式

漂亮地打印一个因式多项式

千巷猫影 2022-09-27 15:16:28
from math import sqrtdef factor(a, b, c):  x1 = (-1 * b) + sqrt(b * b - (4 * a * c))  x2 = (-1 * b) - sqrt(b * b - (4 * a * c))  solution1 = (x1 / (2 * a))  solution2 = (x2 / (2 * a))  expression1 = ['x', (-1 * solution1)]  expression2 = ['x', (-1 * solution2)]  return expression1, expression2print(factor(1, -17, 12))我不知道如何替换列表中的值以使输出看起来更干净。我尝试过以不同的顺序排列值并添加s以使其看起来更好,但无济于事。str如何使输出看起来更像而不是 ?我没有成功地从输出中删除不必要的字符。(x - 16.2)(x - 0.73)(['x', -16.262087348130013], ['x', -0.7379126518699879])我只想删除括号和引号。
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

这是一个痛苦地分散(和丑陋)的解决方案,但是当您学习完全按照自己的意愿获得格式和其他技巧时,它应该很有用:


def pretty_product(e1, e2):

    a = e1[0]

    op1 = '+' if e1[1] >= 0 else '-'

    b = e1[1]

    c = e2[0]

    op2 = '+' if e2[1] >= 0 else '-'

    d = e2[1]

    return f'({a} {op1} {abs(b):.2f})({c} {op2} {abs(d):.2f})'


print(pretty_product(['x', 2567.235235], ['y', -423.12313124214]))

结果是:


(x + 2567.24)(y - 423.12)

注意:如果你想抑制一个可能,你有更多的代码要写,但它应该很容易添加,我想。:)+ 0.00


查看完整回答
反对 回复 2022-09-27
?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以使用 f 字符串


your_tuple = (solution1, solution2)

print(f'(x - {your_tuple[0]})(x - {your_tuple[1]})')


查看完整回答
反对 回复 2022-09-27
  • 2 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信