python的简单四则运算语法树可视化
作者:CrazyDragon_King 发布时间:2023-08-16 09:22:37
标签:python,四则运算,语法树,可视化
简单四则运算语法树可视化
前几天有一篇博客是关于四则运算和二叉树的,我是把四则运算用二叉树写出来(我是用的 JSON 的形式来存储和表达的),并计算最终的结果。最近,也在继续这个方面的东西,不过遇到一些问题。所以想着先做一些简单是事情,也许会更好吧。这篇博客的内容也很简单,就是给定一个四则运算的表达式,画出它的语法树。如果了解过这方面知识的人,应该都能大致画出来,不过其实也是挺费事的。如果包含了多层括号嵌套,也注定了是一个费时费力的事情。这种机械的事情,让程序自己来做是最好不过的了。所以,接下来我会用到 Python 自带的 ast 库来解析四则运算(杀鸡用牛刀,哈哈)。
如果想要动手尝试一下,需要安装一下这个 python 可视化库。
解析 AST
Python 的 ast 库有一个 parse 方法,可以把传入的内容,解析成一个 AST。然后我们使用 ast.dump
将其导出并打印。
注意:indent
这个参数是 Python 3.9 以后才有的,如果版本低的话,可以去掉,只会影响最后输出的格式。
来源:https://blog.csdn.net/qq_40734247/article/details/128414631


猜你喜欢
- 有些时候,我们需要画图后的二进制数据流,matplotlib没有提供相关的api,通过源码查看与百度,得到下面此方法import matpl
- URL dispatcher简单点理解就是根据URL,将请求分发到相应的方法中去处理,它是对URL和View的一个映射,它的实现其实也很简单
- 一:自动化了解知识工具安装什么样的项目适合做自动化?自动化测试一般在什么阶段开始实施?你们公司自动化的脚本谁来维护?如何维护?自动化用例覆盖
- 今天在学习vue的过程中,发现一个有趣的现象。在某一组件下的某一数据通过点击事件被动态修改的时候,对应view中的数据同步的进行了修改,没错
- 原文: gradio.app/interface-s…1.全局状态例子来解释import gradio as grsc
- 作者: wyh草样出处:https://www.cnblogs.com/wyh0923/p/14084898.html什么是文件文件是系统存
- 在标志设计中文字与图形元素总是紧密配合,只有恰当的字体与图形搭配时才能发挥最大的视觉效果。这也意味着你不能抛开图案,只是一厢情愿地选择你自己
- 前言:平时根据需求写代码.人工进行测试往往不会面面俱到,还会因为需求的改变繁琐的进行测试通过完成一个测试函数,可以大大简化测试的步骤,并且在
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 循环语句(有两种):while 语句for 语句while 语句:问题:输入一个整数n,让程序输出n行的:hello
- 前言JSON是一种轻量级的数据交换格式。易于阅读和编写。 golang 提供了 encoding/json 包来操作JSON数据。1. 结构
- 使用MSSQL的站长朋友都会被MSSQL数据库吃内存的能力佩服得五体投地,一个小小的网站,运行若干天之后,MSSQL就会把服务器上所有的内存
- 准备篇:CentOS 6.6系统安装配置图解教程https://www.jb51.net/os/239738.html一、配置防火墙,开启8
- 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下#!/usr/bin/env python# -*- c
- 内容摘要合理使用渐变留白网格布局提高字体应用明确而有效的导航设计漂亮、有用的页脚介绍优秀设计和卓越设计之间的区别是比较小的。一般人可能无法解
- 使用phpmyadmin或者navicat链接数据库时提示【客户端软件无法连接localhost】经检查发现是IPV6地址监听了3306端口
- 文件拆分代码:#-*-encoding:utf-8-*-import osimport sysimport threadingdef get
- 抓取“xmly”鬼故事音频import json # 在这个url,音频链接为JSON动态生成,所以用到了json模块impor
- 一、ConfigParser简介ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为sectio
- 之前用小程序做项目,因为后台使用的java开发,一切顺利,但切换成django做RESTful API接口时,在登陆注册时一直出现问题,网上