day4学习总结:
1. if多分支结构
-
if多分支结构:如果xxx就xxx,如果xxx就xxx,如果xxx就xxx…,(根据不同的条件做不一样的事情)
-
if…if…if…if结构:每个if都要执行一遍,效率低。
-
if…elif…elif…elif…else 结构:后面的条件是在前面的条件不成立的基础上进行判断的,如果前面的某个条件成立,后面的条件不会再判断。
- 语句:
if 条件1: 代码块1 elif 条件2: 代码块2 elif 条件3: 代码块3 else: 代码块4 # 如下例子所示: score = 76 if score >= 90: # 76 < 90 此时条件不成立,继续进行后面的判断 print("A") elif 80 <= score < 90: # 76 < 80 此时条件不成立,继续进行 print("B") elif 60 <= score < 80: # 60 < 76 < 80,此时条件成立,不再进行后面的判断 print("C") # C else: print("D")
-
-
if 嵌套:if分支结构的内部又有分支结构
num = 63 if num % 2 != 0: # 判断是不是奇数,是,输出奇数 print("奇数") if num % 3 == 0: # 判断是不是3的倍数,是,输出3的倍数 print("3的倍数") if num % 7 == 0: # 判断是不是7的倍数,是,输出7的倍数 print("7的倍数") # 输出结果为奇数,3的倍数,7的倍数 else: print("偶数")
2. 循环结构
-
定义:让代码重复执行(代码写一遍,重复执行多次)
-
for循环:
-
语法:
for 变量 in 序列 循环体 # 说明: # for - 关键字,固定写法 # 变量 - 变量名 # in - 关键字,固定写法 # 序列 - 必须是容器类型的数据,例如:字符串,列表,元组,集合,range,迭代器,生成器等 # 循环体 - 结构上,循环体就是和for保持缩进的一条或者多条语句(至少一条),逻辑上,就是需要重复执行的代码。
-
for循环理解:让变量去容器中取值,一个个的取,每取一个值就执行一次循环体,循环的次数取决于容器中的元素的个数。想要控制for循环的次数,就控制容器中元素的个数。
-
range函数:本质是创建等差数列。可以与 for 一起用。
-
语法1:range(N),表示创建一个 0 ~ N-1 的等差数列,差是1。比如说 range(5),表示创建了,0,1,2,3,4 这个数列。如下所示:
for i in range(5) print(i) # 0,1,2,3,4
-
语法2:range(M,N) 表示创建一个 M ~ N-1 的等差数列,差是1。比如说 range(10,20),如下所示:
for i in range(10,20) print(i) # 10,11,12,13,14,15,16,17,18,19
-
语法3:range(M,N,step) 表示创建一个 M ~ N-1 的等差数列,差是step。比如说 range(10,30,3),如下所示:
for i in range(10,30,3) print(i) # 10,13,16,19,22,25,28
-
-
累计求和
-
套路:1.准备数据。2.定义变量保存最后的和(变量默认值是0)。3.通过循环依次获取求和对象,得到一个求和对象就往保存和的变量中加一个。
-
举例1:计算1+2+3+…+100的和,如下所示:
sum1 = 0 # 首先定义一个值是0的变量 for i in range(1,101): # 循环依次取出容器中的数据 sum1 += i # 上一次变量的值加上新取出的数据,得到新数据 print(sum1) # 5050
-
举例2:计算 0 ~ 100 中能被3整除,但不能被5整除的数之和。
sum4 = 0 # 首先定义一个值是0的变量 for i in range(0,101): # 循环依次取出容器中的数据 if i % 3 == 0 and i % 5 != 0: # 判断条件,满足条件的在进行下一步。 sum4 += i # 上一次变量的值加上新取出的满足条件的数据,得到新数据 print(sum4) # 1368
-
举例3:已知列表list1,求列表中所有数字的和。
list1 = [10 ** 2, 1.23, 'abc', True, 20 % 7, 'mn', None] sum5 = 0 # 首先定义一个值是0的变量 for i in list1: # 循环依次取出容器中的数据 if type(i) == int or type(i) == float: # 判断条件,满足条件的在进行下一步。 sum5 += i print(sum5) # 107.23
-
-
统计个数
-
套路:1.定义变量保存最后的个数(变量默认值是0) 2.通过循环获取每一个统计对象,获取到一个统计对象,个数就在原来的基础上加 1。
-
举例1:统计100以内偶数的个数,如下所示:
count = 0 # 首先定义一个值是0的变量 for i in range(0,100,2): # 循环依次取出容器中的统计对象 count += 1 # 获取到一个统计对象,个数就在原来的基础上加 1 print(count) # 50
-
举例2:
nums = [21, 23, 44, 89, 70, 66, 55,67,78] count = 0 # 首先定义一个值是0的变量 for i in nums: # 循环依次取出容器中的统计对象 if i % 10 > 5: # 判断条件,满足条件的在进行下一步。 count += 1 print(count) # 4
-
-
-
while循环
-
语法:
while 条件语句: 循环体(需要重复执行的代码) # 执行过程:判断条件语句是否为TRUE,是的话就执行循环体,重复以上过程, # 直到条件语句为FALSE,结束循环。 # 控制次数的方式:保证条件一开始就是TRUE。经历过指定次数以后会由TRUE变成FALSE。
-
举例1:打印 0 ~ 100,如下:
num = 0 while num <= 100: # 为TRUE则继续进行虚幻 print(num) num += 1
-
-
for循环和while循环的选择
-
如果循环次数确定使用for循环,如果循环次数不确定,使用while循环
-
举例:给定一个初始密码,用户输入正确密码则结束循环。此时我们不知道用户会输入几次才能成功,所以应该使用while循环。
psd = "123456" value = input("请输入密码(6位):") while value != psd: value = input("请输入密码(6位):")
-