接上题:心里随便想一个数a,计算((a+52.8)*5-3.)*2-10a
((a+52.8)*5-3.)*2-10a
=(5a+-3.)*2-10a
=(5a+.)*2-10a
=10a+.-10a
=.
原来,无论a是多少,它都不会参与最终的运算。正所谓:自古深情留不住,总是套路得人心。
再来两个套路
其中一个来自于大名鼎鼎的科学家,笛卡尔。
话说笛卡尔一直没娶老婆,50多岁时,受邀来到瑞典一个小公国,担任18岁的小公主克里斯娜的数学老师。两人竟然日久生情,彼此产生了爱慕之心。
恋情被国王知道后,国王暴跳如雷,本来是要处死笛卡尔的,在小公主的苦苦哀求下,才只是将笛卡尔驱逐回了法国。(笛卡尔这糟老头子坏滴很,比小公主大30多岁,我要是小公主她爹,我也不同意把宝贝女儿嫁给他!)
回到法国的笛卡尔对“小公举”日思夜想,写了很多情书,但都石沉大海。聪明的笛卡尔知道,信一定是被“恶毒”的国王拦截了。于是,他写了一封特殊的信,信里没有任何文字,只有一个数学公式
r=a(1-sinθ)
果然,“不学无术”的国王没有阻拦这封信,小公主拿到信之后,用笛卡尔教她的坐标系的知识,顺利画出了图形。这就是数学史上著名的“心形线”。
所以说,做父亲真难!不仅要防着小鲜肉,还得努力学习,防着像笛卡尔这样的“老坏蛋”用学识拐骗了宝贝女儿!
不过故事的结局并不是有情人终成眷属,小公主收到情书后不久,笛卡尔就病逝了。两人最终还是没能在一起。
这个爱情故事在世界各地的广为流传,曾经有一个铺天盖地的矿泉水广告,据说创意就来自这个故事。但是据历史学家严格考证,这个故事压根就是后人杜撰的。笛卡尔去瑞典的时候,小公主早就当上女王了。而笛卡尔也是因为受不了瑞典的严寒天气,才染病去世的。
笛卡尔的套路有些含蓄,并且还需要用到极坐标这样有点难度的数学知识。下面这个套路则简单直接得多。
更多的套路,特别是数学结合上python之后更酷炫的套路,后面会通过“扩展篇”的方式做一些介绍。
python浮点运算误差
回到python。
当我们用python去计算((a+52.8)*5-3.)*2-10a时,却得到了一个意想不到的结果。
如下图,后面跟了一个长长的尾巴。
我们再看一个更简单的运算,2.2*3的结果也不是6.6,后面也有长尾巴。
这还是因为二进制在作怪,所以在进行浮点运算的时候,注意要指定精度,用我们学过的round()函数就可以,虽然round()是四舍五入法,但因为尾巴的值非常小,所以一般不会造成错误的进位。
a=
print(round(((a+52.8)*5-3.)*2-10*a,4)
print(round(2.2*3,1))
比较运算符
在数学里,常常需要比较多个数字,或者多个代数式之间的大小。如1/3和1.4哪个更大?1/x什么情况下比x大?
在python里,有一类专门的运算符,用来比较两个数字,或者两个运算式之间的大小,称为比较运算符。
比较运算符的返回结果只有2种:True(真)或者False(假)。
如下图,32的结果是True,23的结果是False。
python里所有的比较运算符如下表格。
稍微注意一下的“等于”,它由2个等号组成,作用是判断符号左右两边是否相等,如果相等,返回True,如果不相等,返回False。
在前面,我们经常用到的是一个等号,在python里,“=”称为赋值运算符。作用是把右边的实例赋值给左边的变量名。或者说,让左边的变量名指向右边的实例。
a=6
赋值运算符
在python里。除了“=”这个最简单的赋值运算符之外,还有一些别的赋值运算符。
比如“+=”。如下图片a+=3相当于a=a+3。
其实每一个算术运算符都可以在后面加上“=”,变成赋值运算符。如下表格所示。
总结
到目前为止,我们已经把python里第一个最重要的类:数字类,以及数字类相关的一些基础知识都介绍完了。
3个类:整型,浮点型,复数
3种运算符:算术运算符,比较运算符,赋值运算符
6个内置函数:print(),int(),float(),round(),min(),max()
2个模块:math,random
3个非内置函数:math.ceil(),math.floor(),random.random()
如果有不清楚的地方,建议再复习之前的文章。
接下来的内容,将慢慢更有难度和挑战,做好准备哦!
程序员买西瓜
在程序员圈里,有这么一个段子。我们用它来引出接下来要介绍的内容。
程序员小A下班回家,老婆打来电话
“家里来客人了,去菜市场买个西瓜。如果有西红柿的话,买两个。”
请问,小A最后买了多少个西瓜,多少个西红柿回家?
转载请注明:http://www.0431gb208.com/sjszlff/2704.html