← 回到学习笔记
· 2113 字

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 或允许误差比较。

本篇小结

循环负责重复,数值类型负责计算;两者组合时要关注边界和精度。