9月16日 if分支结构和for循环知识梳理

9月16日

一、if分支结构

1.流程控制 --三种结构

1)顺序结构(默认)

程序执行默认按顺序结构

代码从上往下一条条依次执行,每条代码只执行一次

2)分支结构(if)

可以根据条件的成立和不成立选择执行某段代码(if)

3)循环结构(for/while)

让代码重复执行

2.顺序结构

print(‘你好吗?’)

print(‘how are you!’)

print(‘hello!’)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kw3CrQUH-1631805556727)(E:\Python2106\课上知识点截图\9.16if分支结构和for循环\顺序结构1.png)]

print(‘启动程序加载静态资源’)
print(‘检查网络状态’)
print(‘连接爱奇艺服务器,获取网络数据’)
print(‘提示无网络可用’)
print(‘加载本地缓存数据’)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HKSoY8g1-1631805556729)(E:\Python2106\课上知识点截图\9.16if分支结构和for循环\顺序结构2.png)]

当碰到这种情况时,不适用于顺序结构在执行过程中会有选择,不能这么按顺序结构写,需要判断有网无网

3.if分支结构

1)单分支结构:

–要满足某个条件才执行某种操作,条件不满足,操作不执行时用单分支结构

语法:(有冒号的地方都会产生缩进,同一个缩进里是一个代码块,和c语 > 言{}括起来的代码块效果相同)

if 条件语句:

​ 代码段

(一般四个空格表示一个缩进,按一个tab键就是四个空格一个缩进)

结构说明:

1.if ------- 关键字,固定写法

2.条件语句 ------要求:任何有结果的表达式

​ 例如:具体数据,已经赋值过的变量,运算表达式,函 > 数调用表达式

​ ( 赋值语句没有结果,不能放在条件语句)

3冒号: -------- 必须是英文的,程序里边所有的符号都必须是英文的, > > 固定写法必须写

4.代码段 -------结构上和if保持缩进的一条或者多条语句(至少一条)

​ 满足条件时才需要执行的代码

执行过程:

if xxx(条件语句) 就 xxx(代码段)(如果怎么样就怎么样)

先判断条件语句是否为True,(如果条件语句的结果不是布尔值,先转 > 换成布尔值,如果为True就执行,否则代码段不执行)

if 100:  #100换成布尔值为True
    print('A')
    print('B')
print('C')

注意:赋值语句不能作为if分支的条件语句,if后面的代码段至少有一条语句

if 0:  #0换成布尔值为False
    print('A')
    print('B')
print('C')

练习:

练习1:根据制定的年龄值打印'可以进网吧'
age = int(input('请输入你的年龄'))
if age >= 18:
    print('可以进网吧')
# 练习2:根据分数值打印'优秀'(90分以上)
score = int(input('请输入你的分数'))
if score >= 90:
    print('优秀')

2)双分支结构

-------满足某个条件就执行某个操作,否则就执行另外一个操作

语法:

if 条件语句:

代码段1(满足条件要执行的代码)

else:

​ 代码段2(不满足条件时要执行的代码)

(要求和单支结构相同)

执行过程:如果 xxx 就 xxx 否则就 xxx

练习:

练习:根据制定整数的值,打印’奇数‘或者’偶数‘:
num = 23
if num % 2 == 0:
    print('这个数为偶数')
else:
    print('这个数为奇数')

# 方法二:
if num % 2:
    print('奇数')
else:
    print('偶数')

3)多分支结构

----根据不同的条件做不一样的事情

方案一:

只能解决多个条件之间的存在:如果其中一个条件成立,那么其他条件绝对不会成立的关系

#只能解决多个条件之间存在:如果其中一个条件成立,那么其他条件绝对不会成立的关系

if 条件语句1:#条件语句1成立后边的条件语句不会判断不会执行。
    代码段1
elif 条件语句2:#后边条件判断在前面条件判断不成立的情况下执行的。
    代码段2
elif  条件语句3:
    代码段3
    。。。。
else:
    代码段N
    

方案二:

如果多个条件之间不存在说其中一个满足,另外的条件绝对不满足的情况

if 条件语句1:
    代码段1
if 条件语句2:
    代码段2
    。。。以此类推
 根据分数的范围打印优秀-90分以上 良好-80-90分包含90分 中等60-79 不及格60分以下
 num = int(input('请输入您的分数'))
# 方法一:
if num > 90:
    print('优秀')
elif 90 >= num >=80:
    print('良好')
elif 79 >= num >= 60:
    print('中等')
else:
    print('不及格')
# 方法二:(多分支结构判断条件一不成立的情况下才会判断条件2,所以不用谢<=90,因为不判断条件一的范围)
if num > 90:
    print('优秀')
elif num >= 80:
    print('良好')
elif num >= 60:
    print('中等')
else:
    print('不及格')

4.if嵌套语句 -在if语句里面的代码段嵌套if语句

# 练习:根据指定数的值打印’奇数‘’偶数‘和’4的倍数‘
# 奇数:指定的数字取余2不为0
# 偶数:指定的数字取余2为0
# 4的倍数:指定的数字取余4为0
print('------------------------------------------------------')
if num % 2:
    print('奇数')
else:
    if num % 4 == 0:
        print('4的倍数')
    else:
        print('偶数')

二、for循环

1.for循环

语法:
for 变量 in 序列:
    循环体
说明:
1)for   -   关键字固定写法
2)变量   -   变量名,可以是定义过的也可以是没有定义过的,和定义变量时的变量名要求相同
3)in     -   关键字,固定写法
4)序列    -   任何容器型数据类型,比如:字符串、列表、元组、字典、集合、迭代器、生成器、range等
              (数字、空值、布尔等数据类型不能放在in后面)
5):冒号   -   固定写法
6)循环体   -    和for保持一个缩进的一条或者多条语句(至少有一条语句);
                需要重复执行的代码放进循环体内,和前面的for保持缩进则在循环体里

执行过程:让变量去序列中取值,,一个一个的取,取完为止,每取一个值就执行一次循环体。
(for循环的循环次数和序列中元素的个数有关)
字符串里面的每一个字母或者数字都是一个元素

执行过程:
x = '葛' 取一个值执行一次循环体
接着变量取下一个值 进入第二次循环 x= '淼',然后执行一次循环体
进入第三次循环 x = 'N' 然后在执行一次循环体
进入第四次循环 x = 'B' 然后再1执行一次循环体
没有第五个值可以取则循环结束
之前变量如果赋过值并不影响去序列里取值,在序列里取的值赋值给了变量覆盖了变量原来存储的值

2.range函数 -本身功能产生指定范围的数字序列

(N)表示任意正整数
用法1:range(N)  -  产生0~N-1的数字序列,[0,N)(开区间小括号取不到)
            例如:range(4)产生的数字是:0、 1、 2、 3 (四个数字—)。
用法2:range(M,N)  -  产生M到N-1的数字序列,[M,N)(M必须小于N,且都是整数,否则是空序列,一次都不循环)
            例如:range(2,6)  -- 产生数字是:2、 3、 4、 5、
                 range(-2,2) --  产生数字:-2、 -1、 0、 1
                 用这个方法时可能会用的到变量取到的值
                 看多少次循环就用N-M
用法3:range(M,N,step)  -  产生区间还是[M,N),这个区间中取得值每次增加step(步长)
                          例如:range(1,10,2)  -  取到的值:1,3,5,7,9
                          如果step值为负数则M大于N且从M取值N娶不到
                          range(10,1,-1)
                          
当循环次数大的时候,用字符串就不合适了,元素太多没办法列出
for x in range(100):
    print(x, '++++++++++++++++')
# range(循环次数)在括号内填入循环次数,想写多少次就填多少

for x in range(-4, 4):
    print(x)

for x in range(-4, 4,3):
    print(x)

3.套路一:求和

# 第一步:定义一个变量默认值是0(这个变量就是用来保存最后的和)
# 第二步:使用for循环的变量依次取出需要求和的所有数据
# 第三步:在循环中变量每取一个值,就往保存和的变量中加一个值
# 1+2+3+。。。+100
sum1 = 0#先定义一个变量,取出一个数来往里加一个。
for x in range(1,101):
    sum1 += x
    print(sum1)
print(sum1)
'''
scores = [89,99,90,50]
sum1 = 0
for x in scores:   - 字符串赋值的变量
    sum1 += x
print(sum1)
'''

4.套路二:统计个数

# 统计20~100之间偶数的个数
# 方法一:
num = 0
for x in range(20, 101):
    if x % 2 == 0:
        num += 1
print(num)

# 方法二
num = 0
for x in range(20, 101, 2):
    num += 1
print(num)


# 练习:统计不及格的分数的个数
scores = [30, 89, 99, 90, 50]
num1 = 0
num2 = 0
num3 = 0
for x in scores:
    if x < 60:
        num1 += 1
    elif x >= 90:
        num3 += 1
    else:
        num2 += 1
print('不及格得人有:', num1, '个人', sep='')
print('及格得人有:', num2, '个人', sep='')
print('优秀得人有:', num3, '个人', sep='')

, 50]

num1 = 0
num2 = 0
num3 = 0
for x in scores:
if x < 60:
num1 += 1
elif x >= 90:
num3 += 1
else:
num2 += 1
print(‘不及格得人有:’, num1, ‘个人’, sep=’’)
print(‘及格得人有:’, num2, ‘个人’, sep=’’)
print(‘优秀得人有:’, num3, ‘个人’, sep=’’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值