← 回到学习笔记
Python基础学习笔记之循环进阶与数值类型
复习循环结构,并学习整数、浮点数和常用数值操作。
学习目标
复习循环结构,并学习整数、浮点数和常用数值操作。
一、循环语句
1.循环的else分支
语法: while xxx: xxx else: xxx for 变量 in 容器: xxx else: xxx for 变量 in 容器: if xxx: xxx else: xxx else: xxx注意:如果while或for中的break执行了,则循环的else分支不会被执行;如果while或for中的break未被执行,则循环的else分支会被执行
# 注意:Python中的循环语句也是有else分支的,不光if语句中有else分支 # 1.for-else/while-else # a.当if的条件按不成立时,才会执行else分支 n = 7 if n < 5: print('yes') else: print('no') # b.无论while或for循环的分支是否执行,一般情况下else分支都会执行 n = 0 while n > 10: print(n) n += 1 else: print('while~~~~else') for n in range(10): print('~~~~~~',n) else: print('for~~~else') print('*' * 50) # c.for/while【break】-----else # 注意:如果在while或for中出现break且break会被执行,则循环的else分支不会被执行,反之,如果break不会被执行,则else分支会被执行 n = 0 while n < 10: print(n) if n == 2: break n += 1 else: print('while~~~~else') for n in range(10): print('~~~~~~',n) if n > 20: break else: print('for~~~else')
二、数字类型
1.数学功能【了解】
内置功能
- abs(x):返回数字的绝对值
- (x>y)-(x<y):比较大小,如:x=3,y=5
- max(x1,x2,…):返回给定参数的最大值
- min(x1,x2,…):返回给定参数的最小值
- pow(x,y):求x的y次方的值
- round(x,n):返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数
- sum(容器):求容器中元素的和
导入math模块 import math;
- ceil(x):返回x的上入整数,不能直接访问,需要通过math访问,即math.ceil(18.1)
- floor(x):返回x的下入整数,同ceil的用法
- modf(x):返回x的整数部分和小数部分,两部分的数值符号与x相同,整数部分以浮点型表示,同ceil的用法
- sqrt(x):返回数字x的平方根,数字可以为负数,返回类型为实数【浮点型】,同ceil的用法
数学常量
math.pi :圆周率 math.e :自然常数
# 1. # - abs(x):返回数字的绝对值 print(abs(-34)) # - max(x1,x2,…):返回给定参数的最大值 ***** print(max(354,7,8,9,9,23,239)) # - min(x1,x2,…):返回给定参数的最小值 ***** print(min(354,7,8,9,9,23,239)) # - pow(x,y):求x的y次方的值 print(pow(5,3)) # 5 ** 3 ****** # - round(x,n):返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数 print(round(35.6354)) # 36 print(round(35.4354)) # 35 print(round(35.6354)) # 36 print(round(35.4354,2)) # 35.44 # - sum(容器):求容器中元素的和 ****** print(sum([45,67,78,8])) print(sum(range(1,101))) # 2.导入math模块 import math # 注意:自己创建py文件的时候,千万不要和系统的模块重名,如:math.py,random.py,会导致系统的模块失效 # - ceil(x):返回x的上入整数,不能直接访问,需要通过math访问,即math.ceil(18.1),向上取整 ****** print(math.ceil(19.98475)) # 20 print(math.ceil(19.18475)) # 20 # - floor(x):返回x的下入整数,同ceil的用法,向下取整 ****** print(math.floor(19.98475)) # 19 print(math.floor(19.18475)) # 19 # - modf(x):返回x的整数部分和小数部分,两部分的数值符号与x相同,整数部分以浮点型表示,同ceil的用法 print(math.modf(45.6778)) # - sqrt(x):返回数字x的平方根,数字可以为负数,返回类型为实数【浮点型】,同ceil的用法 print(math.sqrt(9)) # 3.0 print(9 ** 0.5) # 3.0
补充说明
浮点数采用二进制近似表示,比较金额等精度敏感数据时不宜直接用 ==;可使用 round()、Decimal 或允许误差比较。
本篇小结
循环负责重复,数值类型负责计算;两者组合时要关注边界和精度。