Python 应用计算思维为实现和相关方法提供了一种动手实践的方法,可以让您立即启动、运行并提高效率。使用 Python 的开发人员将能够将他们的知识用于使用计算思维方法解决问题的实践指南。
这本书将帮助你发展逻辑处理和算法思维,同时解决现实世界中跨领域的问题。这是在现代信息技术时代保持领先的一项基本技能。开发人员可以应用他们的计算思维知识来实践解决多个领域的问题,包括经济学、数学和人工智能。
本书首先帮助您掌握分解、模式识别、模式泛化和抽象以及算法设计,同时教您如何在设计具有挑战性问题的解决方案时实际应用这些元素。
我们将了解如何通过可视化表示使用分解来解决问题。我们还将使用模式泛化和抽象来设计解决方案,并建立评估算法解决方案所需的分析技能。我们还将使用 Python 的计算思维进行统计分析。
我们将了解设计算法解决方案方面的输入和输出要求,并使用计算思维解决数据处理问题。我们将识别逻辑处理中的错误,以改进解决方案设计,并将计算思维应用于各个领域,如密码学、经济学和机器学习。
然后,您将了解问题分析、逻辑推理、算法设计、分类和集群、数据分析和建模中涉及的各种技术,并了解如何将计算思维元素与这些方面结合使用来设计解决方案。
我们还将培养逻辑推理和解决问题的技能,帮助您解决复杂问题。我们还将通过实例探索核心计算机科学概念和重要的计算思维元素,并找出如何确定最适合您的问题的算法解决方案。
最后,您将了解如何识别解决方案设计过程中的陷阱,以及如何选择正确的功能来创建最佳的算法解决方案。
在本算法书的末尾,您将获得将计算思维技术应用于软件开发的信心。
本书面向希望在编写或调试软件程序和应用程序时开发问题解决技能和策略的学生、开发人员和专业人员。需要熟悉 Python 编程。
第一章计算机科学基础帮助您了解计算机科学的基本要素,包括理论、设计、计算过程和系统以及计算机。本章的重点将是计算机科学的软件元素。
第 2 章计算思维要素解释了计算思维分解、模式识别、模式概括与抽象、算法设计的每一个要素,以及计算思维过程如何不是线性的。相反,开发人员可以在算法设计过程的所有阶段回顾其中的一些元素,直到找到特定问题的解决方案。本章将包括一些简短、相关的问题,这些问题用于演示如何使用计算思维的元素来实现算法。
第三章理解算法和算法思维为您介绍算法及其定义。您还将回顾一些算法,以帮助您在评估算法时发展必要的分析技能。
第 4 章理解逻辑推理探讨了条件语句、算法推理和布尔逻辑等逻辑推理过程。在本章中,您将通过实际和相关的问题分析学习基本和中级逻辑处理技能。
第 5 章探究问题分析探讨问题分析中的主题,重点关注问题定义、分解和分析。为了练习和进一步理解计算思维的第一个要素,分解,您将看到真实和相关的问题。然后,您将能够定义问题并将其分解为多个部分,例如识别输入和输出,以及开始规划所提出问题的解决方案所需的其他相关信息。
第 6 章设计解决方案和解决方案流程,让您有机会使用计算思维过程中先前学习的内容设计多个问题的解决方案,并开始结合逻辑处理,为解决方案创建决策过程的可视化表示。可视化表示包括图表、流程图和其他有用的流程。
第 7 章识别解决方案中的挑战为练习识别一些常见错误和/或现有问题的更好的可能解决方案提供了机会。虽然大多数问题都可以通过解决问题需求的多种算法来解决,但有些解决方案最适合该特定问题。本章的目的是向您介绍如何识别解决方案设计过程中的一些陷阱。
第 8 章Python 简介向您介绍了 Python 的基本命令和功能,同时将它们应用于问题。使用计算思维的元素,您将能够通过结合前面学习的概念来设计解决方案。
第 9 章了解输入和输出以设计解决算法,帮助您评估问题,以确定设计和实施问题解决算法所需的输入和输出。
第 10 章控制流帮助您了解更多关于条件语句的信息,以及在使用计算思维和 Python 编程语言解决问题时如何使用for
和while
循环。在解决问题时,您将应用前面学习的逻辑处理来创建 Python 算法。
第 11 章在简单挑战中使用计算思维和 Python,帮助您在解决多学科挑战时,利用真实和相关的示例,应用之前获得的知识来完成计算思维过程,为每个场景设计最好的算法。
第 12 章在实验和数据分析问题中使用 Python,说明如何利用 Python 功能解决涉及实验数据和数据处理的问题。计算思维元素将用于使用高级功能解决实际和相关问题。
第 13 章使用分类和聚类涵盖分类和聚类。您将使用 Pandas、Scikit Learn 和其他软件包创建培训和测试模型,并学习一些用于大型数据分析的基本定义,如机器学习和神经网络模型。
第 14 章在统计分析中使用计算思维和 Python深入探讨与统计分析相关的更多主题,如导入数据、索引和预处理数据。然后,您将使用数据可视化来决定哪些变量需要进一步分析。
第 15 章应用计算思维问题帮助您解决多个问题,这些问题结合前面各章的主题,以解决问题并用 Python 设计算法。您将使用计算思维元素来确定为语言学、密码学等领域的问题设计模型和创建解决方案所需的功能。
第 16 章高级应用计算思维问题处理多个领域的其他应用问题,包括几何细分、创建住房数据模型、创建电场、分析遗传数据、分析股票、创建卷积神经网络(CNN等)。您将使用计算思维元素来解决问题,并为您的问题和数据集创建不同的图形和可视化表示。
您需要在计算机上安装Python 3.9才能运行代码。所有代码示例都已在使用 Python3.9 的 Windows 操作系统上进行了测试,并应在后续版本中运行。所有代码都已经使用 Anaconda 虚拟环境进行了测试。
本书中使用的其他库和包包括以下内容:
- NumPy
- Scikit 学习
- TensorFlow/Keras
- Matplotlib
- Seaborn
- 凯洛斯
- NLTK
- 熊猫
如果您想使用 Spyder 环境或 Jupyter 笔记本运行代码,您可以安装 Anaconda,它是 Python 和 R 编程语言的环境管理器。
如果您使用的是本书的数字版本,我们建议您自己键入代码或通过 GitHub 存储库访问代码(下一节提供链接)。这样做将帮助您避免与复制和粘贴代码相关的任何潜在错误。
您可以从 GitHub 的下载本书的示例代码文件 https://github.com/PacktPublishing/Applied-Computational-Thinking-with-Python 。如果代码有更新,它将在现有 GitHub 存储库中更新。
我们的丰富书籍和视频目录中还有其他代码包,请访问https://github.com/PacktPublishing/ 。看看他们!
我们还提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。您可以在这里下载:https://static.packt-cdn.com/downloads/9781839219436_ColorImages.pdf 。
本书中使用了许多文本约定。
Code in text
:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个例子:“最后,我们要求程序使用Readability
函数分析文本。请注意,我们将其保存到r
代码块设置如下:
def encrypt(message, key):
encryptedM = ''
for letts in message:
if letts in LETTERS:
num = LETTERS.find(letts)
num += key
encryptedM += LETTERS[num]
return encryptedM
任何命令行输入或输出的编写方式如下:
There once was a citizen in the town of Narnia, whose name was Malena. Malena loved to hang with their trusty dog, King Kong.
You could always see them strolling through the market in the morning, wearing their favorite blue attire.
粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。这里有一个例子:“正如您从前面的屏幕截图中看到的,死亡一栏继续上升,病例数量也在上升,我们稍后将在这个问题中关注这一点。”
提示或重要提示
看起来像这样。
我们欢迎读者的反馈。
一般反馈:如果您对本书的任何方面有疑问,请在邮件主题中注明书名,并发送电子邮件至customercare@packtpub.com。
勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packtpub.com/support/errata,选择您的书籍,单击 errata 提交表单链接,然后输入详细信息。
盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请致电与我们联系 copyright@packt.com带有指向该材料的链接。
如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com。
请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。
有关 Packt 的更多信息,请访问Packt.com。