
Python practice of Educoder
文章平均质量分 87
主要是一些实训参考答案,供大家交流学习。
糯米小辣条
这个作者很懒,什么都没留下…
展开
-
Python--进程和线程
第1关:Python多进程-求素数个数任务描述本关任务:使用Python多进程求素数个数。相关知识为了完成本关任务,你需要掌握:多进程Multiprocessing模块。什么是进程什么是进程? 最直观的就是一个个pid,进程是程序在计算机上的一次执行活动。说得简单点,进入main函数,这就是一个进程,进程pid会打印出来;再运行到return,该函数就退出;然后,由于该函数是该进程的唯一的一次执行,所以return后,该进程也会退出。多进程类似于下图的安检窗口一样,每一个窗口都类似于一个进程原创 2021-01-19 13:46:24 · 7647 阅读 · 3 评论 -
Python 计算思维训练——公式编程
第1关:表达式求解 - 垂直上抛小球位置计算任务描述本关任务以垂直上抛小球的位置计算为例,关注如何将数学计算公式转换为 Python 表达式并求值。学生需仔细阅读相关知识,找到数学运算符与 Python 数值运算符之间的对应关系,完成编程任务并输出公式计算的结果。相关知识为完成本关任务,你需要掌握物理中的竖直上抛运动,以及 Python 中的算术运算符、变量及输出等知识点竖直上抛运动竖直上抛运动指物体以某一初速度竖直向上抛出(不考虑空气阻力),只在重力作用下所做的运动。竖直上抛运动是物体具有竖直原创 2021-01-19 13:15:03 · 13040 阅读 · 4 评论 -
Python 数据解析:JSON与XML
第1关:JSON篇:JSON基础知识任务描述本关任务:手动编写一个 JSON 格式的数据文件。相关知识JSON 全称:JavaScript Object Notation(JavaScript 对象表示法),是一种轻量级的文本数据交换格式。与接下来要介绍的 XML 相比,拥有更小、更快、更易解析的特点。一个典型的 JSON 格式的字符串如下:{"students": [ { "name":"赵昊" , "age": 15 }, { "name":"龙原创 2021-01-19 12:35:52 · 7719 阅读 · 0 评论 -
Python 迭代器与生成器
第1关:迭代器 (Iterator)任务描述本关任务:编写一个输出斐波那契数列的迭代器。迭代器 (Iterator)迭代,就是反复执行某一步骤的意思。迭代器,则是用来实现这一动作的东西。迭代器的概念主要涉及到两部分:可迭代对象Iterable和迭代器对象Iterator。可迭代对象凡是可以返回一个迭代器的对象,都可以叫做可迭代对象,可迭代对象不是某一个具体的对象,而是实现了特定功能的一类对象:data = (1,2,3,4)i1 = iter(data)i2 = iter(data)原创 2021-01-19 11:56:28 · 5119 阅读 · 0 评论 -
Python堆栈与队列
第1关:熟悉Python中的list任务描述本关任务:编写一个能对 list 对象,进行插入、删除和修改的程序。相关知识为了完成本关任务,你需要掌握:对 list 的随机访问;如何“弹出” list 的第一个和最后一个元素;如何向 list 添加数据。对 list 的随机访问随机访问就是指,能不能通过下标之类的索引,直接访问某一位置的元素。数据结构中,顺序表最主要的特点就是随机访问。Python 中 list 的索引,只能是整数或者切片。通过整数访问,就和一些高级编程语言中的数组的访问类原创 2021-01-19 11:47:38 · 6101 阅读 · 4 评论 -
Python 计算思维训练——文件操作与异常处理
第1关:从文件中读取数据:信息时代已经到来任务描述我们现在生活在信息爆炸的时代,计算机中文本文件可存储的数据量多得难以置信,我们可以把各种信息都存储在文本文件中。每当我们需要利用程序去修改或分析存储在文本文件中的信息时,就必须先正确地读取文件。要用 Python 程序去修改或分析文本文件中的信息,首先需要将文本文件中的信息读取到内存中。我们既可以将文本文件中的内容一次性读取,也可以按每次一行的方法逐行读取。本关的目标就是让学习者了解并掌握利用 Python 工具从文件中读取数据的相关知识。相关知识原创 2021-01-12 10:03:58 · 12801 阅读 · 1 评论 -
Python 正则表达式
第1关:正则表达式基础知识任务描述本关任务:编写代码,通过re.findall()模块匹配内容相关知识正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,来筛选出符合这个规则的内容。可以简单理解为:一个强大的搜索工具中,正则表达式就是你要搜索内容的条件表达式。为了完成本关任务,你需要掌握:1.正则模块函数re.findall(),2.各种正则表达式元字符的含义。以下实例均可在命令行窗口中练习。re.findall()函数作用原创 2021-01-11 11:50:54 · 5390 阅读 · 0 评论 -
Python面向对象编程综合运用
第1关:定义三维向量类任务描述完成三维向量类的设计。相关知识类是具有共同数据成员和成员方法的对象的抽象,而对象则是某个类的实例化和具体化。在 Python 中,使用关键字 class 定义类,在类中可以包含数据成员和成员方法的定义。其中,数据成员用来描述对象的属性,例如一本书的作者、出版社、ISBN、定价等等;成员方法则用来描述对象的行为,例如动物的行走、捕猎食物等等。在 Python 中,并没有提供严格的访问控制,只是在形式上进行了说明。例如,在类的定义中,如果某个成员的名字前面有 2 个下划线原创 2021-01-11 11:34:53 · 7083 阅读 · 4 评论 -
Python面向对象编程实训
第1关:按揭贷款——定义抽象类任务描述本关主题是利用 Python 面向对象编程技术,对按揭贷款的问题,进行面向对象建模与编程。请仔细阅读下面“相关知识”中的内容,理解每个函数所需完成的操作,补全相关函数,以实现计算按揭贷款的要求。相关知识2008 年美国的次贷危机导致全球经济下滑,至今还未完全恢复。次贷危机的一个因素是很多房主都采用按揭贷款( Mortgage )来购房,而未考虑按揭贷款带来的不可预知的后果。早期的按揭贷款非常简单,房主从银行借钱,然后在接下来的 15~30 年间,每月向银行支付原创 2021-01-11 11:28:30 · 11565 阅读 · 3 评论 -
Python 入门之类的其它特性
第1关:类的内建函数任务描述对于类、实例和其它对象而言,存在着一些内建函数,这些内建函数无需定义,可直接调用。本关的任务就是让学习者掌握并能使用这些内建函数。相关知识issubclass()issubclass()是一个布尔函数,这个函数用来判断一个类是否是另外一个类的子类或者子孙类。如果给出的子类确实是给出的父类的子类,则返回True,否则返回False。它的语法如下:issubclass(subclass, parentclass)parentclass也可以是一个包含若干个父类的元组,只原创 2021-01-11 11:15:37 · 2153 阅读 · 0 评论 -
Python 入门之类的继承
第1关:初识继承任务描述在面向对象编程中,有一种机制叫做继承。通过继承,子类可以继承其父类所有的属性和方法,这在很大程度上增强了代码的重用。以下场景便模拟了继承的现实场景:在自然界中存在着许多的动物,动物间有许多的共性。比如:呼吸、奔跑、觅食等,但是它们之间也存在着不同之处,比如鱼会游泳、豹子会爬树……在上面这个场景里,动物就是父类,它具有着所有动物都有的共性,而鱼和豹子是子类,它们不仅具有共性:呼吸、奔跑、觅食,还有着自己独特的特征:游泳、爬树。本关的任务是让学习者掌握 Python 中类的继承机制原创 2021-01-11 11:03:29 · 2914 阅读 · 0 评论 -
Python 入门之类的基础语法
第1关:类的声明与定义任务描述Python 是一门面向对象的语言。面向对象编程 - Object Oriented Programming(简称 OOP)是一种编程思想,在面向对象编程中,把对象作为程序的基本单元,把程序视为一系列对象的集合。一个对象包括了数据和操作数据的方法,消息传递成为联系对象的方法。对象可按其性质划分为类,对象也就是类的实例。类是用来描述具有相同的属性和方法的对象的集合,即抽象的集合。例如书这个类,它代表着所有书,它具有书所共有的属性:书名、版本、作者和出版日期,它也具有所有书都原创 2021-01-11 10:53:04 · 5071 阅读 · 0 评论 -
Python基础之综合练习二
第1关:素数判断任务描述本关任务:编写一个能判断一个整数是否是素数的小程序。相关知识为了完成本关任务,你需要掌握:如何判断一个正整数是否是素数。如何判断一个正整数是否是素数素数(Prime Number),又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则,称为合数(Composite Number)。1既不是素数,也不是合数。如2、3、5、7、11都是素数,因为找不到除了1和其本身之外的约数;而4、6、8都是合数,因为4可以整除2,6可以整除2和3,8可以原创 2021-01-11 10:09:47 · 12021 阅读 · 0 评论 -
Python基础之综合练习一
第1关:最小公倍数算法任务描述本关任务:编写一个能计算给定的所有正整数的最小公倍数的小程序。相关知识为了完成本关任务,你需要掌握:如何求任意两个正整数的最大公约数;如何求任意两个正整数的最小公倍数。如何求任意两个正整数的最大公约数最大公约数(GCD, Greatest Common Divisor),也称最大公因数、最大公因子,指两个或多个整数共有约数中最大的一个。比如数12和数18的最大公约数是6,因为12的约数有1、2、3、4、6、12,而18的约数有1、2、3、6、9、18,通过比较原创 2021-01-11 09:57:59 · 16502 阅读 · 4 评论 -
Python 入门之经典函数实例
第1关:递归函数 - 汉诺塔的魅力任务描述在 Python 函数内部,我们可以去调用其他函数。所以如果一个函数在内部调用自身,这个函数我们就称为递归函数。本关我们将以汉诺塔的例子来感受递归函数的方法与应用。汉诺塔问题源于印度一个古老传说。相传大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上并规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。如下图1所示,请问应该如何原创 2021-01-11 09:46:14 · 3168 阅读 · 0 评论 -
Python入门之模块
第1关:模块的定义任务描述在 Python 程序的开发过程中,为了代码维护的方便,我们可以把函数进行分组,分别放到不同的.py文件里。这样,每个文件包含的代码就相对较少,这个.py文件就称之为一个模块(Module)。本关的目标是让学习者了解并掌握 Python 模块定义的相关知识。相关知识模块能够让我们有逻辑地组织 Python 代码段,模块中能够定义函数、类和变量,模块里也可以包含可执行的代码。模块的引入Python 中要用关键字import来引入某个模块。比如要引用模块math,就要在文件原创 2021-01-11 09:28:53 · 2243 阅读 · 0 评论 -
Python入门之函数调用
第1关:内置函数 - 让你偷懒的工具任务描述我们在编程过程中会用到很多函数,但我们不需要每个函数都自己去编写,因为 Python 内置了很多十分有用的函数,我们在编程过程中可以直接调用。本关目标是让学习者了解并掌握一些常用的 Python 内置函数的用法。相关知识数学运算abs():返回数值的绝对值,例如:>>> abs(-4)4divmod():返回两个数值的商和余数,例如:>>> divmod(7,2)(3,1)max():返回元素中的最大值原创 2021-01-10 14:03:58 · 3678 阅读 · 0 评论 -
Python 入门之控制结构 - 顺序与选择结构
第1关:顺序结构任务描述程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句。本关要求学习者理解顺序结构,并对输入的三个数changeone、changetwo、plus先交换changeone、changetwo值,然后再计算changeone + plus的值。相关知识要实现上述功能,需要严格按照顺序来实现每一个步骤。如果顺序错误,那么便会得出错误的结果。顺序结构顺序结构如下图1所示:假设存在a、b、c三个整数,如果按照以下顺序执行:c = a + b原创 2021-01-10 13:46:26 · 6774 阅读 · 0 评论 -
Python 入门之控制结构 - 循环结构
第1关:While 循环与 break 语句任务描述程序的第三大结构是循环结构。在此结构中,通过一个判断语句来循环执行一个代码块,直到判断语句为假时跳出循环。循环语句分为while循环、for循环、循环嵌套和迭代器。循环语句中有一个语句break,通过这个语句可以跳出整个循环。以下场景便模拟了循环结构与跳出循环的现实场景:在一个工厂的流水线上每天需要加工零件100件,且每件零件所做的加工都是一样的,也就是说流水线每天要循环做相同的工作100次。但是如果在加工时突然停电,则流水线停止对后面所有零件的加原创 2021-01-10 13:38:41 · 5497 阅读 · 1 评论 -
Python 入门之函数结构
第1关:函数的参数 - 搭建函数房子的砖任务描述当我们需要在程序中多次执行同一类型的任务时,不需要反复编写代码段来完成任务,而是可以利用函数工具来大大方便我们的编程工作。函数是可重复使用的、用来实现相关联功能的代码段。本实训的目标是让学习者了解并掌握函数结构的相关知识,本关的小目标则是让学习者先了解并掌握函数参数的有关知识。相关知识我们在使用函数前,得先定义一个满足自己使用要求的函数。定义函数的基本结构是:def functionname( parameters ):“函数_文档字符串”fu原创 2021-01-10 13:21:52 · 3463 阅读 · 0 评论 -
Python入门之collections模块
第1关:命名元组 (namedtuple)任务描述本关任务:完成对命名元组的简单操作。命名元组 (namedtuple)Python 中提供了基础的不可变数据结构元组tuple,对元组元素的访问需通过索引来完成,对此需要熟记每个下标对应的具体含义。如果元素数量一多,要记清楚这些东西就会比较麻烦了,于是就出现了命名元组namedtuple。创建命名元组命名元组的构造函数接受两个参数typename,field_names:typename:元组的名字;field_names:元组各个元素的名称原创 2021-01-10 13:05:38 · 11952 阅读 · 0 评论 -
Python 入门之元组与字典
第1关:元组的使用:这份菜单能修改吗?任务描述元组看起来犹如列表,但元组使用圆括号()而不是[]来标识,而且列表的元素可以修改,但元组的元素不能修改。本关介绍元组的常见使用方法以及元组和列表的使用区别。下面用饭店菜单的例子来说明列表和元组使用的应用场景:现在有一个餐馆要向每个包厢都投放两份菜单,菜单上有4种菜名。我们想将两个菜单上最后一道菜名互换一下,也想快速知道改变后的两份菜单上单词首字母最大的菜名。而我们首先需要判断该用列表的方法还是元组的方法实现这个目标。为了实现这个目标,我们需要先学习元组的相原创 2021-01-10 12:02:16 · 6189 阅读 · 0 评论 -
Python 入门之玩转列表
第1关:列表元素的增删改:客人名单的变化任务描述本关任务是对一个给定的列表进行增、删、改等操作,并输出变化后的最终列表。列表是由按一定顺序排列的元素组成,其中的元素根据需要可能会发生变化。其中,列表元素的添加、删除或修改等是最常见的操作。下面以一则请客的故事来说明列表元素操作的应用场景:有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表guests=[‘Zhang san’,‘Li si’,‘Wang wu’,‘Zhao liu’]。后面因为一些临时情况,这个客人名单不断变化:Zhao liu说要原创 2021-01-10 11:45:39 · 5383 阅读 · 0 评论 -
Python 入门之字符串处理
第1关:字符串的拼接:名字的组成任务描述本关任务是将两个不同的字符串,拼接形成一个字符串,并将新字符串输出来。字符串或串(String)是由数字、字母、下划线组成的一串字符。在 Python 中,字符串用单引号或者双引号括起来。在很多情况下,我们需要将两个字符串拼接起来,形成一个字符串。例如,一个人的姓名,通常是由“姓氏”+“名字”组成的。在很多程序中,为了方便后续处理,通常将姓氏和名字分别存在两个变量中。然后在显示时,要将姓氏和名字拼接起来,按全名显示。first_name = ‘Zhang’l原创 2021-01-10 11:27:57 · 7626 阅读 · 1 评论 -
Python入门之基础语法
第1关:行与缩进任务描述本关任务:改正代码中不正确的缩进,使其能够正常编译,并输出正确的结果。相关知识缩进Python 与 C/C++、Java 这些 C 类语言不同,Python 使用缩进来表示代码块,缩进的空格数量可以由个人习惯决定,但同一个代码块的缩进空格数必须相同。if True:print(“true”)print(“true”)else:print(“false”)print(“false”);上面程序的 if 部分和 else 部分缩进不相同,但是在各自的代码块内缩进是原创 2021-01-10 11:12:29 · 9236 阅读 · 0 评论 -
Python初体验——Hello World
第1关:Hello Python,我来了!任务描述Python 编程语言具有简洁、易读等特点,并提供了交互式编程以及脚本编程两种不同的模式,学习者很容易上手。本关任务是,首先,通过命令行连接,进入 Python 交互编程环境,完成打印Hello world、整数加减法以及利用Help命令查询相应内置函数的使用,感受和体验 Python 的交互式编程模式;然后,通过脚本编程方式,编写相应的代码,利用 Python 提供的print()内置函数,打印输出Hello Python,初步体验和感受 Pytho原创 2021-01-10 10:44:59 · 8725 阅读 · 0 评论