返回顶部
首页 > 资讯 > 后端开发 > Python >实现一个【伪】四则运算封闭的符号运算和
  • 802
分享到

实现一个【伪】四则运算封闭的符号运算和

符号 2023-01-31 08:01:11 802人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

最后的效果: if __name__ == '__main__': import doctest doctest.testmod() x = Symbols("x") print(x * 2 + 1 ==

最后的效果:

if __name__ == '__main__':
    import doctest
    doctest.testmod()
    x = Symbols("x")
    print(x * 2 + 1 == 8.0 * x + 6).solution

打印:
{'x': -0.8333333333333334}
这里用了8.0是因为众所周知的python2.7+,对于整数除法用的是整除,3/2=1什么的,python3后来有用//这个操作符的,这里不是重点,不用管

昨天快下班的时候事情做完了,于是开始划水,看到sympy是个符号运算的库,我就在想要是让我实现该有多难呢。。感觉真是非常适合新手/高中生的一个题目呢~

好吧,那么我们从四则运算封闭的符号系统做起~

下班后先写了一点,然后吃饭的时候构思了一下,写完啦。今天又补了一点求解一元一次方程。。。

学到的是

  1. 数学方面,符号对四则运算封闭的话,需要额外的两个参数:1、系数,2、次数。例如系数是2,次数是3。发现这个问题之后,果断摒弃了次数。最后实现的符号运算,符号与实数对四则运算封闭,符号与符号对加减封闭(多么偷懒啊哈哈哈哈~原谅我没文化)

  2. Python上,知道了doctest的通过单元测试要实现__repr__方法。
    不然在写文档测试时:

"""
>>> Symbols("x",2) / 4.0
Symbols("x",0.5)
"""

会报如下错误

Failed example:
 Symbols("x",2) / 4.0
Expected:
 Symbols("x",0.5)
Got:
 <__main__.Symbols object at 0x10d5718d0>

丢一个不知道能不能让爬虫爬到。关键词:doctest class test

  1. 还有知道了a+1重载__add__方法,而1+a并不需要重载Int,直接重载a的__radd__就行了。。

多元一次方程的话。。想了想感觉还是挺啰嗦的,就算了。。。
加上次数,感觉要涉及高数了。。。做起来好啰嗦。。
积分。。。阿西BUG,高数忘光了。如果我真的能有机会做的话

代码:https://GISt.GitHub.com/zjjott/0eb6ff1947cd213Dd70a

--结束END--

本文标题: 实现一个【伪】四则运算封闭的符号运算和

本文链接: https://lsjlt.com/news/193169.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 实现一个【伪】四则运算封闭的符号运算和
    最后的效果: if __name__ == '__main__': import doctest doctest.testmod() x = Symbols("x") print(x * 2 + 1 == ...
    99+
    2023-01-31
    符号
  • php四则运算怎么实现
    在PHP中,可以使用基本的数学运算符(+,-,*,/)来实现四则运算。以下是一个示例代码,演示了如何实现四则运算:```php```...
    99+
    2023-08-24
    php
  • php实现四则运算的方法
    这篇文章给大家分享的是有关php实现四则运算的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php实现四则运算的方法:首先创建一个PHP示例文件;然后声明数字栈和符号栈;接着把运算串分解成每个字符到$arr数...
    99+
    2023-06-09
  • Python实现简单的四则运算计算器
    一、算法 1、算法的主要思想就是将一个中缀表达式(Infix expression)转换成便于处理的后缀表达式(Postfix expression),然后借助于栈这个简单的数据结构,计算出表达式...
    99+
    2022-06-04
    计算器 简单 Python
  • JavaScript实现计算器的四则运算功能
    目录一、需求 + 最终实现1. 需求2. 说明:利用了字符串(split、replace)和数组(splice)的方法。3. 代码实现二、实现步骤1. 版本一:实现基础加减乘除2. ...
    99+
    2024-04-02
  • C#怎么实现计算器四则运算
    这篇文章主要讲解了“C#怎么实现计算器四则运算”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么实现计算器四则运算”吧!初始化,实现四则运算using System;using...
    99+
    2023-06-29
  • shell中怎么实现四则运算
    本篇文章为大家展示了shell中怎么实现四则运算,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.简单方法代码如下:$ b=$((5*5+5-3/2)) $ echo $b29 在linux she...
    99+
    2023-06-09
  • 浅谈一下四则运算和二叉树
    引言 前几天忽然想到了四则运算和二树有没有关系,然后在网络上检索了一下,发现还真的有四则运算和二叉树。 因为总是见到把 四则运算表达式 用 树 的形式来展示,所以就想着给定一颗表达式...
    99+
    2023-05-14
    四则运算 二叉树 四则运算和二叉树
  • shell实现四则运算简单方法
    1.简单方法 $ b=$((5*5+5-3/2)) $ echo $b29 在linux shell中,我们可以使用 $(()) 将表达式放在括号中,即可达到运算的功能。 2.其它方法: 用:expr...
    99+
    2022-06-04
    简单 方法 shell
  • Go语言如何实现四则运算
    在Go语言中,四则运算是通过基本的算术运算符来实现的。常用的四则运算操作:1、加法(+): 用于将两个数相加;2、减法(-): 用于将第二个数从第一个数中减去;3、乘法(*): 用于将两个数相乘;4、除法(/): 用于将第一个数除以第二个数...
    99+
    2023-12-21
    go语言 四则运算
  • JavaScript如何实现计算器的四则运算功能
    小编给大家分享一下JavaScript如何实现计算器的四则运算功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、需求 + 最终实现注:只是前端实现1. 需求需...
    99+
    2023-06-29
  • golang 四则运算计算器yacc归约手写实现
    目录缘起目标难点总体流程main.gotokens/tokens.gostates/states.golexer/lexer.goparser/tStackNode.goparser...
    99+
    2024-04-02
  • gojson编译原理XJSON实现四则运算
    目录前言转义字符性能优化实现四则运算总结前言 在上一篇中介绍了xjson的功能特性以及使用查询语法快速方便的获取JSON中的值。 同时这次也更新了一个版本,主要是两个升级: 对转义...
    99+
    2024-04-02
  • Go 冒号等于运算符和一个新变量
    php小编新一在这里为大家介绍一项新的特性——Go 冒号等于运算符和一个新变量。这个运算符的作用是在Go语言中创建一个新的变量,同时将其初始化为一个表达式的值。这个特性的引入使得代码更...
    99+
    2024-02-10
    go语言
  • 四、MySQL的数据类型和运算符
    4.1、MySQL数据类型介绍 MySQL支持多种数据类型,主要有数值类型、日期/时间类型和字符串类型。数值数据类型:  包括整数类型   TINYINT、SMALLINT、M...
    99+
    2024-04-02
  • 深入理解Python运算符:位移运算符、逻辑运算符和运算符优先级的实践手册
    进阶Python运算符的应用:位移运算符、逻辑运算符、运算符优先级的实践指南 Python是一门广泛应用于各个领域的高级编程语言,而掌握其中的运算符的使用是非常重要的。除了基本的算术运算符,Python还提供了许多其他类型的运算...
    99+
    2024-01-20
    优先级 逻辑运算符 位移运算符
  • Java实现四则混合运算代码示例
    使用栈来实现,可以处理运算优先级。使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2。无需把表达式先转换为逆波兰等形式。package com.joshua.cal; import java.util.Collections; ...
    99+
    2023-05-31
    java 四则运算 ava
  • 使用Python制作一个极简四则运算解释器
    前言: 这是最近完成的一个小的 demo,一个极简四则运算解释器。前面,已经基于这个想法发了两篇博客了:浅谈一下四则运算和二叉树python的简单四则运算语法树可视化然后,前两天也就...
    99+
    2023-05-14
    Python四则运算 Python运算解释器 极简四则运算
  • python的点号运算和LEGB规则的学
    1 封装 2 继承 3 多态 1 python的封装是约定 ,而不是约束, 因为你已经是成年人了. 2 python的继承 实现本质是点号运算 3 python的多态是基于协议,基于行为的多态 1 简单的变量--遵循LEGB查找规则...
    99+
    2023-01-31
    规则 python LEGB
  • Go语言基础教程:四则运算的实现方法
    Go语言基础教程:四则运算的实现方法,需要具体代码示例引言:Go语言作为一门开发云原生应用的编程语言,受到越来越多开发者的青睐。作为学习Go语言的初学者,掌握基本的运算操作是必不可少的。本文将介绍Go语言下实现四则运算的基本方法,并提供具体...
    99+
    2023-12-23
    Go语言 基础教程 四则运算
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作