day4 —分支和循环 总结:
python中任何类型都可以转换为布尔类型。
分支、循环(for、range函数、while循环)
一、分支结构
if多分支结构:
语法一:直接多个单分支结构
if 条件1:
代码块1
if 条件2:
代码块2
if 条件3:
代码块3
...
注意:多个条件之间不存在’其中一个条件成立,另外的条件就不成立’的
情况。
num=int(input('请输入一个数:'))
if num % 2 ==0:
print('偶数')
if num % 3 ==0:
print('3的倍数')
if num % 5==0:
print('5的倍数')
语法二:使用elif对应的分支结构
if 条件1:
代码块1
elif 条件2:
代码块2
elif 条件3:
代码块3
...
else:
代码块n
注意:后面的条件是在前面的条件不成立的基础上进行判断的。如果前面的某个条件成立,后面的条件就不会再判断。
score=89
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 60:
print('C')
else:
print('D')
if分支结构的嵌套:(if分支结构的内部又有分支结构)
num=24
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
else:
print('奇数')
二、循环结构
Python实现循环结构的工具有:for循环、while循环。
-
for循环
语法:
for 变量 in 序列: 循环体
for i in range(3): print('hello!')
注意:
- )变量:变量名可以是已经定义过的变量也可以是没有定义过的变量。
- )序列 - 必须是容器型数据类型的数据,例如:字符串、列表、字典、元组、集合、range、迭代器、生成器等。
- )循环体:结构上,循环体就是和for保持一个缩进的一条或者多条语句(至少一句);逻辑上,就是需要重复执行的代码。
range函数:
语法:
- )range(n) :产生[0,n)的等差数列,公差为1
- )range(m,n):产生[m,n)的等差数列,公差为1
- )range(m,n,step):产生[m,n)的等差数列,公差为step
#第一种 range(5) # 0,1,2,3,4 range(5,8) # 5,6,7 range(0,10,2) # 0,2,4,6,8
注意:range函数是左闭右开的区间,即可以取到开始的值,取不到结尾的值,例如:range(0,3)只能取到0,1,2。
练习 :已知列表list=[10,‘abc’,None,56,False,89,56],求列表中所有数字的和。
list=[10,'abc',None,56,False,89,56] sum=0 for i in list: if type(i) == int or type(i) == float: sum += i print(sum) #运行结果:211
-
while循环
语法:
while 条件语句: 循环体(需要重复执行的代码)
执行过程:不断判断条件语句是否为True,如果是就执行循环体,如果 不是循环结束。(控制循环次数的方式:保证条件一开始是 True,经历过制定此术后条件会由Tue变为False)
num=0 while 0 <= num <= 100: print(num) num += 1
-
for循环和while循环的选择:
-
如果循环次数确定,使用for循环;
-
如果循环次数不确定,使用while循环。
循环次数不确定指的是,在写代码时,无法确定循环会重复执行多少次。
-