目录
一、整型
整型用来描述什么:身高/数量/体重/id卡号/年龄;
例如:
height1 = 180
height2 = int(180)
height3 = int('180')
二、浮点型
浮点型用来描述什么:Π,薪资,和钱有关的;
例如:
例1:
salary1 = 1.0
salary2 = float(1.0)
salary3 = float('1')
print(salary3)
例2:
salary4 = float('2ss')
print(salary4)
浮点数中的格式错误,浮点数一定要符合要求
三、复数
复数:实部+虚部, a+bj, 1+2j
例如:
z = 1+2j
print(z)
print(z.real)
print(z.imag)
四、数字类型的运算
1、一元操作符
+ #加
- #减
* #乘
/ #除
% #取余
// #地板除,整除
** #幂
例如:
例1(加):
x = 1
y = 2
print(x+y)
例2(减):
x = 1
y = 2
print(x-y)
例3(乘):
x = 1
y = 2
print(x*y)
例4(除):
x = 1
y = 2
print(x/y)
例5(取余):
print(3%4)
例6(地板除,整除):
print(3//4)
例7(幂):
print(2**10)
print(pow(2,10))
幂的表示方法有两种:
-
print(2**10),用 **表示
-
print(pow(2,10)),用pow函数来表示。
2、二元操作符
例如:
例1:
x = 2
# x = x +2 # x+=2
x+=2
# x*=2
# x%=2
print(x)
例2:
a = 2.3
b = 2.0
c = 2
print(a+c)
例3:
a = 0.1
b = 0.2
c = 0.3
print(a+b)
print(round(a+b,2))
print(a+b == 0.3) # False
print(a+c == 0.4) # True
天天向上的案例示范
例1
每一天都学习,每一天都会进步,假设你每天进步0.001,一年之后的你
base = 1
for i in range(365):
base*=(1+0.001)
print(base)
或者
print(pow(1.001,365))
例2
每天退步1-0.0001,一年之后的你
print(pow(0.9999,365))
例3
# 科学计数法
1.9884558162725795e-17
# 1、round(x, d):对x四舍五入,d是小数截取位数
# 2、浮点数间运算及比较用round()函数辅助
# 3、不确定尾数一般发生在10^16左右,round()
print(round(1.9884558162725795e-17, 16))
例4
# # 周一到周五进步0.01,然后双休日退步0.01,这个怎么计算
# # 5 2 5 2 5 2
# # 7 7 7 7
# # 1 8 15 22 周一 # 除7余1
# # 2 9 16 23 …… 周二 # 除7余2
# # 3 10 17 24 …… 周三
# # 周六 # 除7余6
# # 周日 # 除7余0
base = 1
factory = 0.01 # 更大 # 0.01001 # 0.01002 # 0.01003 # 0.01004 ... # 0.019
for i in range(365): # i=1周一
if i % 7 == 6:
base *= (1-0.01)
elif i % 7 == 0:
base *= (1 - 0.01)
else:
base *= (1 + factory)
print('base:',base) # 4.626500529730141
base2 = pow(1.01,365)
print('base2:',base2) # 37.78343433288728
例5
# 周一到周五努力到什么程度才能 == 每天进步0.01结果一样
factory = 0.01
for i in range(10000000):
base = 1
for i in range(365): # i=1周一
if i % 7 == 6:
base *= (1 - 0.01)
elif i % 7 == 0:
base *= (1 - 0.01)
else:
base *= (1 + factory)
if base > pow(1.01,365):
print(factory)
break
factory+=0.001
数值运算函数表格
函数及使用 | 描述 |
---|---|
abs(x) | 绝对值,x的绝对值,abs(-10.01) 结果为 10.01 |
divmod(x,y) | 商余,(x//y, x%y),同时输出商和余数,divmod(10, 3) 结果为 (3, 1) |
pow(x, y[, z]) | 幂余,(x**y)%z,[..]表示参数z可省略,pow(3, pow(3, 99), 10000) 结果为 4587 |
round(x[, d]) | 四舍五入,d是保留小数位数,默认值为0,round(-10.123, 2) 结果为 -10.12 |
max(x1,x2,⋯,xnx1,x2,⋯,xn) | 最大值,返回x1,x2,⋯,xnx1,x2,⋯,xn中的最大值,n不限,max(1, 9, 5, 4 3) 结果为 9 |
min(x1,x2,⋯,xnx1,x2,⋯,xn) | 最小值,返回x1,x2,⋯,xnx1,x2,⋯,xn中的最小值,n不限,min(1, 9, 5, 4 3) 结果为 1 |
int(x) | 将x变成整数,舍弃小数部分,int(123.45) 结果为123; int("123") 结果为123 |
float(x) | 将x变成浮点数,增加小数部分,float(12) 结果为12.0; float("1.23") 结果为1.23 |
complex(x) | 将x变成复数,增加虚数部分,complex(4) 结果为 4 + 0j |