【问题标题】:How can I perform algebra such as apple + apple = 2 apple?如何执行代数,例如 apple + apple = 2 apple?
【发布时间】:2020-05-08 19:58:42
【问题描述】:

是否可以为字符串对象定义代数? 例如:

  • 苹果 + 苹果 = 2 个苹果
  • 苹果 + 橙子 = 橙子 + 苹果
  • 苹果 + 3.5 个苹果 = 4.5 个苹果

是否有内置函数可以做到这一点?是否需要创建类结构?

【问题讨论】:

  • 看起来SymPy 可以解决这个问题。
  • 你的意思是你想用 Python 构建 monoids 和 monads?函数式编程?
  • @CatalinaChircu 不,我不认为 OP 指的是类似的东西,听起来他们想要一个计算机代数系统。
  • 不,没有内置函数。不,类结构从来没有真正需要完成任何事情。但是,通常,这是一种组织代码的有用方法。无论如何,您所描述的不是字符串。它听起来就像你想要一个计算机代数系统,使用数学来操纵符号的东西。 sympy 是 Python 中用于此类事情的流行库。

标签: python algebra


【解决方案1】:

您可以使用SymPy 为此类代数定义符号变量。

>>> from sympy import *
>>> apple = symbols('apple')
>>> orange = symbols('orange')
>>> apple + apple
2*apple
>>> apple + orange
apple + orange
>>> apple + 3.5 * apple
4.5*apple

【讨论】:

  • CoryKramer,非常感谢您的快速响应和出色的解决方案!
猜你喜欢
  • 2021-07-24
  • 2015-04-12
  • 1970-01-01
  • 2021-03-13
  • 2019-10-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
相关资源
最近更新 更多