首页 > 应用开发 > IT综合 > Python学习教程:基本数据类型
基本数字类型
首先我们开始认识一下基本的数字类型吧:
整数类型
1 整数类型其实与数学中的整数是一样的定义,整数类型包括正整数,负整数,没有取值范围。pow(x,y),pow()函数,用来计算x的y次方2 整数类型还有四种进制关系:
浮点数类型
这里需要注意一下浮点数之间的运算会存在不定尾数的情况,不是语言的bug,是很多编程都会出现的情况。例如。0.1 + 0.3 = 0.4但是 0.1 + 0.2 = 0.30000000004就是因为二进制与十进制转换的问题:0.1
0.00011001100110011001100110011001100110011001100110011010 (二进制表示) 53位二进制表示小数部分,约
10-160.1000000000000000055511151231257827021181583404541015625 (十进制表示)0.1 + 0.2 二进制表示小数,可以无限接近,但不完全相同 结果无限接近0.3,但可能存在尾数
复数类型
复数类型与数学中复数的定义相同,大家可先了解一下,日后我们用到再去具体讲解。
数字运算操作符
在编程中对于数字的操作是非常重要的,而数字之间的运算也是最常见的操作,对于掌握数字操作是一个很好地基础。
数字运算相关函数
实例分析–天天向上的力量
大家可以看下面这个例子:一年365天,每天进步1‰,累计进步多少呢? 1.001365一年365天,每天退步1‰,累计剩下多少呢? 0.999365那么如何通过程序将问题解决呢?
dayup =
pow(
1.001,
565)#每天进步千分之一
daydown =
pow(
0.999,
365)#每天退步千分之一
print(
'向上的值为:{:.2f},向下的值为:{:.2f}'.
format(dayup,daydown))
我们再来思考一个问题:一年365天,一周5个工作日,每天进步1%一年365天,一周2个休息日,每天退步1%这种工作日的力量,如何计算呢
dayup =
1.0 # 定义一个初始进步值
dayfoctor =
0.01 #定义每天进步百分之一
for i in
range(
365):#每年
365天 建立一个
for循环
if i %
7 in [
0,
6]: #取模运算
dayup = dayup*(
1-dayfoctor)
else:
dayup = dayup*(
1+dayfoctor)
print(
'工作日的力量:{:.2f}'.format(dayup))
(运行结果) 工作日的力量:4.63
for
i
in
range(
365):
if
i %
7
in
[0,6]:
分析这段代码,我们可以知道 建立一个for循环,i 是进步的天数,可以自动循环一年。if i % 7 in [0,6],对 i 进行取模运算,如果余数为0则说明为为周末,如果余数为6则说明为周六,就是退步的时间。那我们接着看这个问题:工作日模式要努力到什么水平,才能与每天努力1%一样?A君: 一年365天,每天进步1%,不停歇B君: 一年365天,每周工作5天休息2天,休息日下降1%,要多努力才能追上A呢?
def dayup(df):#创建函数
dayup =
1.0#设置初始值
for i
in range(
365):
if i %
7
in [
0,
6]:
dayup = dayup*(
1 -
0.01)
else:
dayup = dayup*(
1 + df)
return dayup
dayfoctor =
0.01
while dayup(dayfoctor) <
37.2:#如果一年的增长值小于A的进步则继续运行
dayfoctor +=
0.001
print(
'工作日需要努力:{:.3f}'.
format(dayfoctor))
这个代码借鉴了上一问的代码,但是为了判断是否追上了A,所以加入了while语句,用作与判断,通过while我们可以让程序自己判断是否超过了A,如果没有超过则进步值自增0.001,如果超过A,则跳出程序,结束运行。
好了,通过我们今天的学习,我们知道了基本的数字类型,还有数字操作的一些知识,并且通过了一个实例来研究数字操作。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69923331/viewspace-2695530/ ,如需转载,请注明出处,否则将追究法律责任。