自动类型提升
int和float计算时结果会自动转换为float类型,因为float有科学计数法,范围更大
流程控制
条件分支流程
-
if
if 布尔表达式: 代码
-
if-else
if 布尔表达式: 代码块 else: 代码块
-
if - elif - else
if 布尔表达式: 代码块 elif 布尔表达式: 代码块 ... else: 代码块
-
断言
1.关键字:assert 2.语法: assert 布尔表达式 如果表达式为真,什么都不发生 为假,报错,程序中断
循环流程
-
while
1、语法 while 布尔表达式: 循环体 2、合理控制循环表达式 如果条件恒为真,死循环 3、不计数循环 无法确定执行次数或不知道执行次数的循环 4、补充:while 1 和 while true 谁的执行效率高 不一定,Python2中while 1 效率高,因为true是保留字,在执行之前,虚拟机执行之前需要先判断一次true中存储的是否是布尔类型的数据 Python3中一样高,因为true是关键字,不可以被修改,无需再次判断
练习:输入一个整数,将各个位数相加
num = int(input('请输入一个整数')) sum1 =0 while num: a = num%10 num //= 10 sum1 +=a print(sum1)
-
for
1、技术循环 明确知道循环次数 2、语法 for 一组变量 in 可迭代对象: 循环体 3、语法含义 每次循环将可迭代对象中的元素逐个取出 每一次如果可以取出元素,则执行一次循环 4、注意: 循环的执行次数由可迭代对象的长度(元素对象)而决定 循环的次数 = len(可迭代对象)+1 循环体执行的次数 = len(可迭代对象) 变量只创建一次
-
range对象
1. range(stop) start:默认是0 返回的值:是一个数列 范围:[0,stop) 步长默认为1 2. range(start, stop[, step]) 返回的值:是一个数列 范围:[start,stop) 步长以step为步长 3. range对象是一个可迭代对象
-
break
跳出本层循环,循环体内其他循环不再执行 for i in range(10): if i==3: break else:print(i)
-
continue
跳过本次循环,循环体内其他循环继续执行 for i in range(10): if i==3: continue else:print(i)
循环嵌套
-
九九乘法表
for i in range(1,10): for j in range(1,i+1): print(i,'*',j,'=',i*j,end=' ') print()