数据类型及操作
整数类型
与数学中整数的概念一致
- 可正可负,没有取值范围限制
520 或者 -125
- pow(x,y)函数:计算 x的y次方,想算多大算多大
pow(2,100)
1267650600228229401496703205376
pow(2,pow(2,15))
1415461031044954789001553.....
- 4种进制表示形式
十进制:1010,99,-217
二进制:0b010,-0B101(以0b或0B开头)
八进制:0o123,-0O456(以0o或0O开头)
十六进制:0x9a,-0X89 (以0x或0X开头)
浮点数类型
与数学中实数的概念一致
- 带有小数点及小数的数字
1.8 或者 -1.8 或者 -1.0
- round(x,d): 对x四舍五入,d是小数截取位数
# 由于精度问题,浮点数间运算存在不确定尾数
0.1 + 0.2 == 0.3 # False
round(0.1+0.2,1) == 0.3 # True
- 浮点数可以采用科学计数法表示
使用字母e或E作为幂的符号,以10为基数,格式如下:
<a>e<b> 表示 a*10b
4.3e-3 值为0.0043
9.6E5 值为960000.0
复数类型
与数学中复数的概念一致
- 定义:
如果x的平方 = -1,那么x的值是什么 ?
j = 根号-1,以此为基础,构建数学体系
a+bi 被称为复数,其中,a是实部,b是虚部
z = 1.23e-4+5.6e+89j
z.real 获得实部
z.imag 获得虚部
常用于空间变换,尤其是跟复变函数相关科学体系中
数值运算操作符
- 操作符是完成运算的一种符号运算
- 二元操作符有对应的增强赋值操作符
- 数字类型的关系
数值运算函数
一些以函数形式提供的数值运算功能
- 功能函数
注意事项:[ ]表示可选
- 数字类型转换函数
"天天向上的力量"分析
实例问题分析
- 天天向上的力量
#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))
- 三天打鱼两天晒网
for...in...(计算思维)
#DayDayUpQ3.py
dayup = 1.0
dayfactor = 0.01
for i in range(365):
if i % 7 in[6,0]:
dayup = dayup*(1-dayfactor)
else:
dayup = dayup*(1+dayfactor)
print("工作日的力量:{:.2f}".format(dayup))
- 如果一个人每天都进步,那么周末放松的人要多努力才能与前者持平
def...while...("笨办法"试错)
#DayDayUpQ4.py
def dayUP(df):
dayup = 1
for i in range(365):
if i % 7 in[6,0]:
dayup = dayup*(1-0.01)
else:
dayup = dayup*(1+df)
return dayup
dayfactor = 0.01
while dayUP(dayfactor) < 37.78:
dayfactor += 0.001
print("工作日的努力参数是:{:.3f}".format(dayfactor))
举一反三
天天向上的力量(三天打鱼两天晒网、每天多努力一份、工作日模式中休息日不下降)