为mooc网站的北京理工大学的 嵩天 、黄天羽 、礼欣 三位老师的课程笔记。
欢迎starGITHUB可下载源码
- 完成工作
3 基本数据类型
3.1 数据类型及操作
3.2 实例3:天天向上的力量
3.3 字符串类型及操作
3.4 模块2:time库的使用
3.5 实例4:文本进度条
3.1 数字类型及操作
整数类型、浮点数类型、复数类型、数值运算操作符、数值运算函数
3.1.1 整数类型
- 与数学里面一样,可正可负,没有取值范围限制
pow(x,y)
:计算 x y x^y xy - 四种进制表示形式
十进制:1010、99、-127;二进制:0b1010、-0B1100;八进制:0o123、-0O456(第二个为英文o/O);十六进制:0x9a、-0X89;
3.1.2 浮点数类型
- 与数学的实数一样,带有小数点及小数的数字,取值范围($ -10^{308} \to 10^{308} ) 和 小 数 精 度 有 限 制 ( )和小数精度有限制( )和小数精度有限制( 10^{-16} $)
- 浮点数运算间存在不确定尾数,通过添加
round(x,d)
解决:对x四舍五入,d是小数截取位数;也用于浮点数间运算及比较;不确定尾数一般在$ 10^{-16} $; - 浮点数可采用科学计数法表示:使用字母e或者E表示,以10为基数,例如:4.3e-3为0.0043;
3.1.3 复数类型
与数学里面一样。
3.1.4 数值运算操作符
- 使用
+, -, *, /, //(整除), %(取余), **(幂运算或开方运算), 二元操作符等
; - 可使用混合运算,结果一般为“最宽”的类型:整数 $ \to $ 浮点数 $ \to $ 复数;
- 函数运算符:
abs(x)
:取绝对值;divmod(x,y)
:商余,同时输出商和余数(eg. divmod(10,3)为(3,1));pow(x,y,z)
:幂余,(x**y)%z
(pow(3,pow(3,99),10000)
的结果为4587);round(x,d)
:四舍五入,d是保留小数位数,默认0,(round(-10.123,2)
:为-10.12); $ max(x_1,x_2,\dots,x_n) ,min(x_1,x_2, \dots, x_n) $:取最大最小值;int(x)
:将x变为整数,舍弃小数部分;float(x)
:将x变成浮点数,增加小数部分;complex(x)
:将x变成复数,增加虚数部分;
import math # 导入 math 模块
print ("math.pow(100, 2) : ", math.pow(100, 2))
# 使用内置,查看输出结果区别
print ("pow(100, 2) : ", pow(100, 2))
print ("math.pow(100, -2) : ", math.pow(100, -2))
print ("math.pow(2, 4) : ", math.pow(2, 4))
print ("math.pow(3, 0) : ", math.pow(3, 0))
print ("math.pow(3,5) : ", pow(3,5))
print ("pow(3,5,100) : ", pow(3,5,100)) #幂余不能使用math.pow()
math.pow(100, 2) : 10000.0
pow(100, 2) : 10000
math.pow(100, -2) : 0.0001
math.pow(2, 4) : 16.0
math.pow(3, 0) : 1.0
math.pow(3,5) : 243
pow(3,5,100) : 43
3.2 实例练习
问题1:千分之一:
# DayDayUpQ1.py
dayup =