用python学数学
将python编程完整题用于中小学的数学学习,探索编程与课堂学习的结合点。一方面深入到了python编程的各个领域,一方面对数学可以建立更深刻的理解。
圣手书生肖让
这个作者很懒,什么都没留下…
展开
-
用Python画填色的中国分省地图(数据+源代码)
前一篇文章提供了中国陆地国界地图的多边形数据,这次将分省的多边形数据及省邻接数据分享给大家。画分省地图,还涉及到填色问题。本文也顺便介绍一下填色算法。数据的说明大体来说是每个省一个多边形,中国省级行政区严格来说有34个,但数据提供的多边形是33个。首先,在地图填色这个问题上,请允许我省略了香港和澳门两个特别行政区。另外,在北京和天津中间有一块河北省飞地,却大到了不能省略的地步。所以河北省包括2个多边形,如下图所示。给地图填色,有一个基本的规则就是相邻的两个省不能用同一种颜色。所以这里原创 2020-11-19 09:14:35 · 8840 阅读 · 0 评论 -
python编程解数学方程(纯字符串格式)
用Python编程来解数学方程(纯字符串格式),没想到出人意料的简单。我们的目标是从字符串直接求解,而不是输入参数。例如:一次方程:3x+5=0二次方程:x^2+2x+1=0方程组:3x+5y=116x+5y=23解一次方程这是最简单的一种情况,这样一个简单的函数就可以实现def solv(func): p1, p2= func.split('=') a1, a2= p1.split('x') if a2=='': a2= '0' x= (原创 2020-10-28 08:02:51 · 2908 阅读 · 0 评论 -
python学数学1-6:认识数字--自然数减法
现在我们看看,怎样利用皮亚诺公理建立自然数的减法运算体系,以及它的python实现。减法的规则:①任何数N减去0仍是自己(N-0 => N) ②0减去任何非0的数,都产生错误 ③如果有了N - pre(M)的结果,我们定义N - M的结果为pre(N - pre(M))python的代码来实现如下(自然数减法nSub)。def nSub(a1, a2): if ...原创 2020-04-11 10:05:35 · 433 阅读 · 0 评论 -
python学数学1-5:认识数字--自然数的比较
任意两个自然数都可以进行加法和乘法。但如果想做减法,在自然数范围内,还受到一些限制。我们的约定是,被减数必须大于或等于减数。前面我们做了两个自然相等的判断,为了这种比较关系,现在我们在前面的基础上做一个扩展,支持全部六种比较的定义。大于,小于,等于,大于等于,小于等于,不等于。数字的比较规则定义如下:① 0与0相等 ② 0小于任何数字 ③ 任何数字大于0 ④ 两个数字的比较结果,与...原创 2020-04-10 17:54:06 · 530 阅读 · 0 评论 -
python学数学1-4:认识数字--自然数乘法与幂运算
我们继续建立自然数的乘法运算。乘法可以理解为加法的批量运算,所以在定义乘法时,我们将用到加法的定义。根据我们熟悉的乘法规则,参考加法定义的模式,这样定义乘法的规则:①任何数N乘以0都为0(N*0 => 0) ②如果有了N*M的结果,我们定义N* next(M)的结果为(N*M)+N(N* next(M) => (N*M) + N)python的代码来实现如下(自然数乘法nM...原创 2020-04-10 09:03:33 · 616 阅读 · 0 评论 -
python学数学1-3:认识数字--自然数的显示与获取
为了更好地进行测试,我们再增加两个函数,用来更加方便地设置数字和显示数字。为了暂时避免与我们熟悉的十进制数字相混淆,我们用最原始的符号显示法。以为目前,一个自然数与其他自然数之间的区别,就在于它的前驱数的不同。我们这样定义表现规则:①0表示为“□” ②0的后继数表现为“■” ③其他自然数,在它的前驱数表现形式后面在增加一个“■”def nShow(a): if isZe...原创 2020-04-09 17:02:21 · 1156 阅读 · 0 评论 -
python学数学1-2:认识数字--自然数加法
目前的数字,只能通过这样的方式来定义。 z = zero() one = next(z) two = next(one) three = next(two) four = next(three)而且除了定义之外,我们对这些数字还不能做什么。让我们首先建立自然数的加法运算。我们利用归纳公理,这样定义加法的规则:①任何数N加上0都不变(N+0 =...原创 2020-04-09 08:08:27 · 643 阅读 · 0 评论 -
python学数学1-1:认识数字--自然数公理
自然数的概念直接来自人们的生活,但数学家们为自然数N建立了完整的公理体系。皮亚诺公理就是接受最广的一个。我们这里使用扩展的自然数(即包含了0的自然数)①N中有一个元素,记作0。②N中任一个元素都能在 N 中找到一个元素作为它的后继者。③0不是任何元素的后继者。④不同元素有不同的后继者。⑤(归纳公理)N的任一子集M,如果1∈M,并且只要x在M中就能推出x的后继者也在M中,那么M...原创 2020-04-08 12:16:58 · 766 阅读 · 0 评论