首页 > 编程语言 >报告PPT--Python程序设计,不仅仅是学习编程(35页)

报告PPT--Python程序设计,不仅仅是学习编程(35页)

时间:2023-06-10 14:04:23浏览次数:42  
标签:案例 -- 代码 35 问题 Python 计算 优化


本文PPT是董付国老师在“全国青少年STEAM创客教育论坛暨粤东青少年创客文化节”的报告内容。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能_02

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_03

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_04

报告PPT--Python程序设计,不仅仅是学习编程(35页)_编程语言_05

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能_06

学习任何程序设计语言,都应结合具体的实际问题,不可空学语法纸上谈兵,更不能把程序设计作为一门孤立的课来讲。作为大学任课教师,可以结合学生专业理论课中的理论、算法或问题来讲Python;作为中学信息技术老师,可以结合学生数学、物理、化学、生物、地理、历史等课程中的问题。大家都在学Python,你和别人的差距在哪?

报告PPT--Python程序设计,不仅仅是学习编程(35页)_大数据_07

报告PPT--Python程序设计,不仅仅是学习编程(35页)_大数据_08

编写程序永远都是最后一步。万不可拿到问题就急急忙忙开始写代码,应该对问题进行深入分析,选择或设计相应的算法并进行足够的优化,最后再写代码实现。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_大数据_09

报告PPT--Python程序设计,不仅仅是学习编程(35页)_编程语言_10

报告PPT--Python程序设计,不仅仅是学习编程(35页)_编程语言_11

充分利用问题背后的规律或关系,尽最大可能消除重复计算和不必要的计算,是算法优化的核心思想。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能_12

报告PPT--Python程序设计,不仅仅是学习编程(35页)_python_13

报告PPT--Python程序设计,不仅仅是学习编程(35页)_编程语言_14

报告PPT--Python程序设计,不仅仅是学习编程(35页)_大数据_15

有了足够优化的算法之后,还应考虑代码层面的优化,充分发挥和挖掘所用程序设计语言自身的优势和提供的机制,进一步提高效率,降低时间复杂度和空间复杂度。在优化Python程序时,消除循环是提高运行速度的重要方式之一。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_大数据_16

报告PPT--Python程序设计,不仅仅是学习编程(35页)_编程语言_17

内置函数map()、filter()和标准库函数reduce()在底层封装了循环结构,可以大幅度提高效率,函数式编程模式是优先推荐使用。另外,下面的第二段代码使用内置类型int巧妙实现了安全展开式的计算,比列表推导式的等价代码快上百倍。但演示代码中涉及的问题并不是通用的,主要是提供一个思路,遇到具体问题还需要具体分析和优化。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能_18

如何利用有限的学时来覆盖、讲授和演示尽可能多的知识点,是老师对相关知识掌握程度和教学设计、课堂掌控能力的综合考验。案例不一定要多,但是一定要“精”,尽量设计或选择能够包含多个语法知识的教学案例。例如,下面的代码中演示了Python关键字else的4种用法。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_19

在开发大型或商用项目时,不应只考虑正常情况下程序的逻辑,还需要花费大量时间和精力来考虑异常情况下的逻辑,保证程序在非正常条件下仍有相对正常的表现。凡需要用户提供输入的场景,都必须要对用户输入进行严格的检查和过滤。下面的代码中,重点关注字符串方法lower()和关键字in的使用,这也是代码优化的一个体现。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能_20

在下面的代码中,左上角代码是对组合数定义进行展开并约分后得到的表达式进行计算。右下角代码是对计算组合数的帕斯卡公式的实现,利用Python标准库提供的缓冲机制大幅度消除重复计算来提高上万倍的速度,右上角是对应的二叉树原理。左下角代码演示的Python 3.8之后的标准库math中已经提供了组合数计算函数,可以直接使用。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_python_21

下面第一段代码中最后的break删除之后运行结果仍是正确的,但是加上这句break的话代码质量立刻有了大幅度提升,说明写代码的人对问题进行了分析,而不是简单地从数学到代码的简单翻译。因为从数学上来讲,鸡兔同笼问题实际上是个二元一次方程组的求解问题,众所周知二元一次方程如果有解的话必然是唯一解。所以在循环中找到一组解之后不需要继续循环,不可能有其他解了。第二段代码是把二元一次方程组的数学求解过程直接翻译成程序了。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_22

技术是个双刃剑,我们在运用技术时,必须严格遵守相关法律法规、计算机伦理学和职业道德,不可凭借技术优势肆意妄为,网络不是法外之地。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_python_23

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_24

报告PPT--Python程序设计,不仅仅是学习编程(35页)_编程语言_25

报告PPT--Python程序设计,不仅仅是学习编程(35页)_编程语言_26

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能_27

报告PPT--Python程序设计,不仅仅是学习编程(35页)_人工智能_28

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_29

报告PPT--Python程序设计,不仅仅是学习编程(35页)_大数据_30

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_31

下面案例涉及的问题在网络上叫“中国式过马路”,但实际上同样的问题在任何国家任何城市都是存在的,叫“中国式过马路”是对我们的不尊重,所以我在教学中选用这个案例时改成了“集体过马路”,每一个人都应该像爱护自己的家一样去爱护我们的祖国。我们在案例选择时需要消除其中的歧视性因素,必要的时候进行适当修改。

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_32

报告PPT--Python程序设计,不仅仅是学习编程(35页)_大数据_33

报告PPT--Python程序设计,不仅仅是学习编程(35页)_java_34

公众号“Python小屋”

标签:案例,--,代码,35,问题,Python,计算,优化
From: https://blog.51cto.com/u_9653244/6454501

相关文章

  • 微课--Python嵌套函数定义与使用
    7.1.3 函数嵌套定义与使用在Python中,允许函数的嵌套定义,也就是在一个函数的定义中再定义另一个函数。在内层定义的函数中,除了可以使用内层函数内定义的变量,还可以访问外层函数的参数和外层函数定义的变量以及全局变量和内置对象。除非特别必要,一般不建议过多使用嵌套定义函数,因为......
  • 微课--Python生成器函数定义与使用(19分钟)
    8.5 生成器函数定义与使用(书稿节选)如果函数中包含yield语句,那么调用这个函数得到的返回值不是单个值,而是一个包含若干值的生成器对象,这样的函数也称生成器函数。代码每次执行到yield语句时,返回一个值,然后暂停执行,当通过内置函数next()、for循环遍历生成器对象元素或其他方式显式......
  • Python小屋刷题软件2425道题目分类速查表
    “Python小屋”编程比赛正式开始Python小屋刷题软件客户端使用说明(视频讲解)Python小屋刷题神器最近升级的新功能介绍每次录入新题目时都会更新下面的分类表,请注意查看最新信息。客观题分类:Python基础知识:1-57内置函数、运算符:58-320列表、元组、字典、集合、切片、推导式:321-792选......
  • 教师节我用Python分析了336个赞美老师的句子,满满的幸福和开心
    首先祝天下所有老师教师节快乐!今天收到了很多微信、QQ、短信的祝福,有以前的学生发的,有现在的学生发的,有同事发的,有领导发的,有企业朋友发的。字里行间都洋溢着快乐和对教师这两个字的尊重!一一回复完信息之后,深感自己辞藻不够华丽,然后就在网上搜索了一些赞美教师的句子学习学习,学习之......
  • Python+tkinter+多线程实现文本自动翻页方便阅读
    任务描述:使用Python编写程序,使用tkinter创建界面,使用ScrolledText显示任意文本,然后自动上下翻页方便阅读。参考代码:运行结果:公众号“Python小屋”......
  • Python+pywin32操作Excel文件常用功能(268行代码+注释)
    问题描述:使用Python扩展库pywin32操作Excel文件。准备工作:安装Python,安装扩展库pywin32,安装Office或WPS。参考代码:运行结果:公众号“Python小屋”......
  • Python+Matplotlib绘制带误差线的柱状图
    任务描述:绘制如下图形,展示部分城市平均收入与平均房价以及误差波动范围,其中数据均为演示数据,准确数据请查询相关网站。下图中每个柱的高度表示平均值,黑色竖线表示误差范围,竖线两端数字分别为最小值和最大值。参考代码:公众号“Python小屋”......
  • Python爬取并简单分析2024年普通高校招生专业(专业类)选考科目要求
    任务描述:使用Python语言编写网络爬虫程序,采集山东省考试院发布的2024年普通高校招生专业(专业类)选考科目要求,然后统计不同要求的本科专业数量和专科专业数量。网页源代码分析与爬虫程序原理请参考:Python爬取2021年拟在山东招生普通高校专业(类)选考科目要求Python采集全国高校2020年拟......
  • Python逐块执行另一个Python程序中的代码观察运行过程
    任务描述:给定一个Python程序,编写程序逐块执行其中的代码,单行代码作为一个块来执行,选择结构、循环结构、异常处理结构、函数定义、类定义作为一个块来执行,每个块之间间隔1秒,以便观察执行过程。以Python+pywin32操作Excel文件常用功能(268行代码+注释)一文中的代码为例,编写程序逐块执行......
  • 使用Python检查实验教学大纲(Word文件)中前后信息是否一致
    问题描述:应选用教材的老师们要求,整理了一份与教材《Python程序设计(第3版)》配套的实验教学大纲,共45页72个实验项目。需要的老师可以联系董老师获取这个文件。在实验教学大纲中,核心内容有两块,一个是实验项目信息汇总表,部分内容如下图所示,实验教学大纲中第二个核心内容是每个实验项目......