python1到100个自然数_python学数学1-1:认识数字--自然数公理
自然数的概念直接来自人们的生活,但数学家们为自然数N建立了完整的公理体系。皮亚诺公理就是接受最广的一个。
我们这里使用扩展的自然数(即包含了0的自然数)
①N中有一个元素,记作0。
②N中任一个元素都能在 N 中找到一个元素作为它的后继者。
③0不是任何元素的后继者。
④不同元素有不同的后继者。
⑤(归纳公理)N的任一子集M,如果0∈M,并且只要x在M中就能推出x的后继者也在M中,那么M=N。
让我们来自己动手实现一个单纯的自然数系统N。
为了避免和我们习惯的数字混淆,我们将完全不使用任何程序中的数字变量。
① 对于0元素,我们用None表示,通过函数zero获得。
②任何元素都有后继,我们用一个函数nNext来获得它。
④不同元素有不同的后继,用一个函数nPre来获得某个元素是谁的后继。
③0不是任何元素的后继,所以nPre(zero())将报错。
⑤上面四条公理已经足够建立起自然数的框架,最后的归纳公理将用来建立整个比较和运算体系。
我们首先看关于0的定义,用两个函数来实现:
# 返回特例数字“0”,其特点是它不是任何数字的后继
def zero():
return ['自然数的起点','零']
def isZero(a):
return a==['自然数的起点','零']
zero()获得特例数字0,这个0,可以用任何内容来代表。唯一的关键是我们有办法用isZero()函数判断它是0即可。
为了这一原则显得更加明显,我们这里特意用了比较复杂的表示:用一个含有两个元素的列表来代表这个0。
接下来是后继与前驱的实现,也用了两个函数:
# 返回a的后继
def nNext(a):
def number(cmd):
if cmd== 'pre':
# 只知道前驱是a
return a
else:
# 其他一概不知
return None
return number
nNext()这里涉及一点高阶函数的知识。构造了一个函数,用这个函数来代表数字。这个函数接收一个参数,当这个参数是"pre"的时候,返回这个数字的前驱,显然是为了给下一个函数nPre使用。除此之外,任何其他的参数都返回None,代表一无所知。
# 返回a的前驱是谁(a是谁的后继),这也是a唯一知道的事情
def nPre(a):
if isZero(a):
raise TypeError
return a('pre')
nPre()除了数字0报错之外,其余的数字,直接返回它的前驱,很明确。
在后面的课程中,我们将从这几个看似简单的基本函数开始,构建起完整的算术框架。我们将深刻地理解,我们日常所使用的数字背后其实真的只有几条公理而已。
原文链接:https://blog.csdn.net/xiaorang/article/details/105384263
python1到100个自然数_python学数学1-1:认识数字--自然数公理相关推荐
- python找数字做加法升级版答案_python学数学1-2:认识数字--自然数加法
目前的数字,只能通过这样的方式来定义. z = zero() one = next(z) two = next(one) three = next(two) four = next(three) 而且 ...
- python学数学1-1:认识数字--自然数公理
自然数的概念直接来自人们的生活,但数学家们为自然数N建立了完整的公理体系.皮亚诺公理就是接受最广的一个. 我们这里使用扩展的自然数(即包含了0的自然数) ①N中有一个元素,记作0. ②N中任一个元素都 ...
- python1到100奇数和_python计算1~100的和,1~100奇数的和,1~100偶数的和,一条代码求1~100的和...
1.计算1~100的数之和----for循环实现1~100的和 sum1 = 0 for i in range(1,101): sum1= sum1 +i i+= 1print(f"1-10 ...
- python找数字、做加法_Python数学1-2:理解数字——自然数加法,python,12,认识
目前的数字,只能通过这样的方式来定义. z = zero() one = next(z) two = next(one) three = next(two) four = next(three) 而且 ...
- python1到100奇数相加_Python:从inpu将奇数相加
有点小问题.我正在编写一个简单的程序,它接受数字的输入(例如1567),它将奇数相加,并在输出中列出它们.这是我的代码:import math def oddsum(n): y=n%10 if(y== ...
- 学数学或物理学到 high 很刺激,是一种怎样的经历与感受?
吴育昕 ,Google-Megvii-FAIR炼丹中 田渊栋 等 1346 人赞同 当年学线性代数. 一开始看的都是中规中矩的教材, 从行列式出发, 讲矩阵, 讲线性变换. 然后有一天没忍住, 看了那 ...
- 为什么要学数学?因为它真的没用啊!
全世界只有3.14 % 的人关注了 爆炸吧知识 数学之用 无用之用 有一天,表妹过来问了我两个问题: 数学有什么用?那些深奥的公式对于普通人有什么意义? 相信大多数人都有这个疑问,但总是找不到一个标准 ...
- NOIP 为什么要学 数学
NOIP 为什么要学 数学 1.初赛 问题求解 就是两个数学问题.全卷100分占10分.初赛的其他部分还会涉及数学. 2.复赛 day2第一道就是数学问题,没有经过专门的学习,该题是拿不到100分的. ...
- jzoj5935小凯学数学
jzoj5935小凯学数学 Description 由于小凯上次在找零问题上的疑惑,给大家在考场上带来了很大的麻烦,他决心好好学习数学 本次他挑选了位运算专题进行研究 他发明了一种叫做 ...
最新文章
- 数字营销迎来黄金期 TalkingData推出“营销云”平台
- Redis 你该懂的点
- 号称迄今为止最快,.NET6带来了什么?
- 视频编解码器常见问题介绍
- hdu 1023 Train Problem II
- WPF 文字换行TextWrapping 显示不全用省略号TextTrimming 显示不全弹提示内容ToolTip
- L2Dwidget.js L2D网页动画人物添加
- 决胜未来,2019年前端开发十大战略性技术布局
- 单片机c语言定时器控制流水灯,单片机-定时器流水灯
- 啊哈C语言 第2章 梦想直航(第1-8讲)
- 企业传播需要拥有的5个风险意识
- Joplin 的思维导图 Mindmap(脑图)插件
- 33c3 CTF web WriteUp
- 饭后小甜点leetcode——堆
- 计算机网络技术艺术设计方面,【艺术设计论文】数字技术下的新媒体艺术设计(共3150字)...
- 华为社招机考考什么_牛客网-华为-2020届校园招聘上机考试-软件类机考-3
- Markdown KaTex 积分符号
- 【Hadoop】P2 Hadoop简介
- Zotero文献同步
- 【JavaScript-进阶】详解数据类型,内存分配,API元素对象获取
热门文章
- 分数混合运算简便方法_分数混合运算和简便计算
- 最近组织游泳社的体会
- html banner图片滚动,无缝循环滚动(适用banner、图片滚动)
- 西北乱跑娃 -- mysql常用操作命令
- 如何将XPS批量转换成PDF
- linux【网络】网络请求延迟变大了,我该怎么办?
- Unity_画线_地面画框_类似汽车停车位_拖尾组件Trail Renderer_Demo
- c语言dfs算法初步讲解,[转载]算法初步
- vue中使用mapBox绘制圆形范围
- 四叉树C++实现(增删改查,找邻居)