动画图解程序?这个可视化运行环境太方便了

news/2024/7/8 7:03:51

入门教程、案例源码、学习资料、读者群

请访问: python666.cn

大家好,欢迎来到 Crossin的编程教室 !

了解代码的执行过程是编程的基本要求。

一个熟练的编程老手只需要用肉眼看着代码,就能对其运行的过程有所了解。然而对于刚接触编程不久的新手来说,这种事情就没那么显而易见了。于是在编写代码和调试代码时,一旦程序的逻辑有些复杂,就像掉进代码的迷宫,完全不知道东南西北。

所以,每当有人对自己的代码没有给出预想结果而百思不得其解,无奈寻求帮助时,我都会建议在程序中增加输出,一方面是根据不同输出的先后顺序来判断程序的运行路径,另一方面则是观察各变量在运行过程中的实际数值,确认是在哪里发生了错误。(参考前文:新手上路,如何debug调试程序?)

还有种方法就是使用 IDE 提供的调试功能,通过添加断点和单步运行,了解程序的运行状态。Visual Studio、Eclipse、xCode 等常见的 IDE 几乎都提供了调试工具。对于 Python,也可以使用 pdb 库来实现断点调试。

上述两种途径应该是大部分程序员 debug 时候的基本套路。但同样的,对于新手来说,即使这样的工具,用起来仍然有些费力。

有时我会选择在纸上画出一些流程和图形来向人解释程序,虽然效果会好些,但显然不是一种可以广泛推广的方式。后来意外发现有一款工具满足了此类需求,非常适合新手,可以让你直观地“看”出程序是怎么运行的。对于初学编程,难以理解程序运行过程的苦手来说,绝对可称之为“神器”。

这就是 Online Python Tutor。一款免费的在线代码运行及演示工具。

项目地址:pythontutor.com

关于此项目的介绍(摘自网络):

Online Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在 Web 浏览器中编写 Python 代码,并一步一步可视化地执行程序。

截至 2013 年 12 月,来自 165 个国家和地区共 50 万多人使用了这个在线工具,通常是用作教材、讲义或在线编程指南的补充。每天共执行和演示超过 6,000 段 Python 程序。除了自学的初学者,Online Python Tutor 的用户还包括了那些参加 Coursera、edX 和 Udacity 等在线课程的学生,还有诸如 MIT、UC 伯克利等高校的教师。

  • Python Tutor 支持 Python 3.6。

  • 除了 Python 外,还可运行 Java、JavaScript、TypeScript、Ruby,另外也有支持 C、C++ 的版本。

  • 可以通过一行 JS 代码,把此工具嵌入到你自己的页面中。

  • 也可以生成链接,把你的代码直接分享给别人。

  • 附带单元测试功能。

  • 网站上还提供了很多的实例,其中包括一些比较经典的算法。

再来体验一下其使用过程:

在编辑器里输入代码,点击 “Visualize Execution” 即可运行并演示。

import random


def fn(x):
    return x**2


result = []
for i in range(3):
    t = random.randint(1, 10)
    print(t)
    r = fn(t)
    result.append(r)


print(result)

我用了段包含循环、列表、函数、模块的代码片段。看看效果如何:

4ae3cb6cadee78b1c03e2594c38b1e21.png

左边是代码,箭头表示当前运行到的位置。

通过下面的按钮和进度条可以直接控制程序的进行。

右上是输出。

右下就是程序的可视化模拟。在这个例子里,可以清楚地看到过程中变量的变化,何时调用了函数等信息。

借助 Python Tutor,除了可以让编程新手更容易理解程序的运行过程,还能可视化地展示算法执行,如排序、链表插入等。大家可以把比较难以理解的算法代码贴进去,直观地观察,更好地理解。

45a9173a6afe87c555f136c351d53aa9.png


Crossin的新书《码上行动:零基础学会PYTHON编程(CHATGPT版)》已经上市了。

4c195fd25586f278a55faecdd4eeebd9.jpeg

本书力求做到浅显易懂,让完全没有编程经验的零基础“小白”也能学会Python。内容从环境搭建这种最基础的步骤开始讲起,逐渐深入到常见的实际应用当中。在讲解知识点的同时配有相应的代码示例,让读者可以边学边练加深理解。

全书涵盖Python环境搭建、基础语法、常见数据类型、实用模块、正则表达式、面向对象编程、多任务编程等知识点。另外还提供了爬虫、GUI、游戏三个实战项目。

书中还创新地使用 ChatGPT 作为编程学习的辅助,带领读者探索AI时代下学习编程的新模式。

公众号的读者朋友们购买后可在后台联系我,加入读者交流群,Crossin会为你开启陪读模式,解答你在阅读本书时的一切疑问。

感谢转发点赞的各位~


_往期文章推荐_

新手上路,如何debug调试程序?


如需了解付费精品课程教学答疑服务

请在Crossin的编程教室内回复: 666

ed6168284e517beb00d3806fc7fbe24c.jpeg


http://lihuaxi.xjx100.cn/news/1185261.html

相关文章

我“Hack”了一款精酿啤酒

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 产品统筹 / bobo 联合制作 / 声网、CBCE 2023 录音间 / 声湃轩北京站 今天这位嘉宾的爱好非常广泛,除了自己是一位网络安全领域的从业者之外,平时还爱好攀…

【分享】如何国内免费使用ChatGPT4教程

一、ChatGPT-3使用 1、ChatGPT用法总结: 自动化文本生成:可以用GPT生成文章、新闻、文本摘要,甚至小说、诗歌等文学作品。语音生成:结合语音合成技术,GPT可以生成自然流畅的语音,可以用于语音助手、交互式…

香港财经学院工商管理硕士(MBA)含金量

近年来,随着中国经济的崛起,越来越多的学生和从业人员开始关注MBA教育。在香港地区,香港财经学院的MBA项目备受瞩目,被誉为是该地区最具含金量的MBA项目之一。首先,香港财经学院作为一家优秀的商学院,在教学…

十、Camera 启动流程分析

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Camera 启动流程概览二、Launcher 跟Camera APP 交互三、Camera app 与FWK Camera Service 交互四、Camera FWK 与 Camera HAL 交互五、Camera FWK…

python使用HTTP隧道代理代码示例

以下是使用Python的requests库实现HTTP隧道代理的示例代码: python import requests # 设置代理服务器地址和端口号 proxy_host "127.0.0.1" proxy_port "8080" # 设置代理服务器的认证信息(如果需要认证的话) pro…

【Zero to One系列】在WSL linux系统上,使用docker运行Mysql与Nacos,以及如何启动与停止WSL

前期回顾: 【Zero to One系列】window系统安装Linux、docker 1、下载docker-compose 1.下载: curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose 2.授予权限&a…

【入门必看,MySQL从0到1系列- 数据库保姆级图解教程:轻松掌握数据库管理技能】+福利网盘分享MySQL从0到1资料+课程教程+视频+源码

​​​​​​​ 福利:最新MySQL从0到1资料课程教程视频源码网盘 文末有分享哦 前言 MySQL 是全球最流行的用于管理关系数据库的开源数据库软件。除了具有强大的功能外,它还比 Microsoft SQL Server 和 Oracle 数据库快速、可扩展且更易于使用。因此&am…

windows ubuntu 时区

大家在切换操作系统的时候会发现一个问题, Windows 和 Ubuntu的时间会出现不一致的情况。在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ubuntu中把时间设置正确后进入 Windows 后,时间又不一致了。…