1.P8介绍了random模块
使用python中所有模块都需要import 模块名,这样就可以使用模块里面的函数了;使用模块的函数需要模块名.函数,表示xx模块中的xx函数,中间用.连接
将产生随机数运用到P6的游戏里面,用随机数代替之前的8
还介绍了getstate()函数获取随机数种子加工之后随机数生成器的内部状态和setstare函数重新设置随机数生成器的内部状态
但我没有如视频里面所说的那样,getstate获得随机数,setstate“重现”随机数,希望有大佬可以解答我这个问题,感激不尽
输出结果:
视频结果:
总结:
1、randint(x,y)产生一个x到y的随机数
PS:因为这个范围我自己也不太清楚,查了以下,有篇文章是这样描述的,我引用下来了,链接也在这里
范围:PS:提前说明一下,random.randint(a,b)这个函数在Numpy中与python语言中还是有一些区别的
Numpy中是取 [a,b) ,右边为开区间
而python中是取 [a,b] ,右边为闭区间
来源:Numpy中 np.random.randint()详解-CSDN博客
2、getstate获得随机数,setstate“重现”随机数
2.P9说的是python中存在部分浮点数运算不精的情况,采用decimal模块解决
输出结果:
可见0.1+0.2应该为0.3,但python输出0.30000000000000004,很显然是不对的!!
下面的那个循环也是,很显然有些结果是错误的
出现部分浮点数不精确的原因是:python采用IEEE754的标准来存储浮点数
解决部分浮点数不精确的问题方法是:引入decimal模块
输出结果:
总结:
1、decimal.Decimal(' '),数字需要用引号,用字符串表示,由于不确定类型,我尝试了一下。
结果是:<class 'decimal.Decimal'>
2、0.00005用科学计数法表示为5e-05,即5×e的-5次方
3、x.real表示复数的实部,x.imag表示复数的虚部
3.P10讲的就是数据的操作
这些都比较容易理解,主要就是记忆和熟练,我就不一一解释了
输出结果:
总结:
(此图是视频里面的,我是截图下来,方便我自己记忆和使用)
加一个 pow(x,y,z)三个参数,代表x ** y % z
4.P11说的是布尔类型,也就是逻辑运算符
简单介绍布尔类型,了解和熟知哪些是False的情况
输出结果:
逻辑运算符包括:not、and、or,要注意它们的用法
以下是我的理解:
not就是取反,真的反是假,假的反是真。【not取反】 and左右两侧均为真,结果才为真;只要有一侧为假,结果就为假。【and找假】 or左右两侧有一方为真,结果为真;两方均为假,结果才为假。【or找真】
输出结果:
总结:
1、(此图是视频里面的,我是截图下来,方便我自己记忆和使用)
bool运算里面为False的所有情况
2、(此图是视频里面的,我是截图下来,方便我自己记忆和使用)
三个逻辑运算符
not就是取反,真的反是假,假的反是真。【not取反】
and左右两侧均为真,结果才为真;只要有一侧为假,结果就为假。【and找假】 or左右两侧有一方为真,结果为真;两方均为假,结果才为假。【or找真】
3、注意!!!【非常容易错!!!】
给操作数是两个整型,结果是整型;
给操作数是两个字符串,结果还是字符串;
给操作数是两个逻辑运算,结果不是True就是False
即给操作数什么,结果就是什么
5.P12讲的是短路逻辑和优先级
短路逻辑的核心思想:
从左往右,只有第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值
秘诀:and找假,or找真
例如视频举例:
(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
分析:(not 1)为False;
(0 and 1)为0,因为and找假找到了,直接将1短路,结果为0
(3 and 4)为4,因为and找假没找到,取最后一个操作数为结果,结果为4
(5 and 6)为6,因为and找假没找到,取最后一个操作数为结果,结果为6
(7 and 8 and 9)为9,因为and找假没找到,取最后一个操作数为结果,结果为9
去掉括号就是:
False or 0 or 4 or 6 or 9
分析:
False or 0 为0,因为or找真没找到,结果为0
0 or 4为4,因为or找真找到了,结果为4,后面的操作数直接短路
最终结果为4
优先级问题:
逻辑运算符低于算术运算符
逻辑运算符中,not优先级最高,and其次,or最低
总结:
1、短路逻辑的核心思想:
从左往右,只有第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值
秘诀:and找假,or找真
2、(此图是视频里面的,我是截图下来,方便我自己记忆和使用)
优先级从上到下,依次增高
逻辑运算符低于算术运算符
逻辑运算符中,not优先级最高,and其次,or最低
好啦~~~这就是我今天学习的所有内容啦~~欢迎大家相互交流~~~