Day2-Python学习fishc P8-P12

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最低

好啦~~~这就是我今天学习的所有内容啦~~欢迎大家相互交流~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值