Python语言程序设计(北理工)
三、基本数据类型
3.1 数字类型及操作
整数类型
- 可正可负,没有取值范围限制,4种进制表示形式:十进制:1010,99,-21;二进制:以0b或0B开头,0b010,-0B101;八进制:以0o或0O开头,0o123,-0O234;十六进制:以0x或0X开头,0x9a,-0X23
- 最常用pow(x,y)函数:计算x^y
浮点类型
- 与数学中实数的概念一致,带有小数点及小数的数字,浮点数取值范围和小数精度都存在限制,但常规计算可忽略,取值范围数量级约-10(308)至10(308),精度数量级10^(-16)
- 浮点数间运算存在不确定尾数,不是bug
- 可以用round(x,d):对x四舍五入,d是小数截取位数,来避免不确定尾数对计算和判断的影响。
- 科学计数法:e,表示 a*10^b
复数类型
- 与数学中复数的概念一致,a+b*j,平常用的很少,但是在空间转换和复变函数中有用。
数值运算操作符
- 二元操作符有对应的增强赋值操作符:
数字类型的关系
- 类型之间可进行混合运算,生成结果为“最宽”类型,三种类型存在一种组件“扩展”或“变宽”的关系:整数 < 浮点数 < 复数,例如:整数+浮点数=浮点数
数值运算函数
pow(3,pow(3,99),10000)即为取3(3(99))的结果后四位【幂余】
3.2 实例3:天天向上的力量
1%o的力量
- 问题1:一年365天,每天进步1%o,累计进步多少呢?
- 问题2:一年365天,每天退步1%o,累计退步多少呢?
编写程序
#DayDayUpQ1.py
dayup = pow(1.001,365)
daydown = pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
#DayDayUpQ2.py
dayfactor = 0.005
dayup = pow(1+dayfactor,365)
daydown = pow(1-dayfactor,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))
#DayDayUpQ3.py
dayup = 1.0
dayfactor = 0.01
for i in range(365):
if i % 7 in [