if分支和循环(2021-9-16)

本文详细讲解了Python中的if、if-else和if-elif-else分支结构,以及for、while循环的应用。通过实例演示如何根据年龄判断是否允许上网、根据分数评价等级,以及利用循环遍历并执行特定操作。
摘要由CSDN通过智能技术生成

if分支和循环(2021-9-16)

一、if分支:if、if- else、if-elif-else

1、流程控制
1)顺序结构(默认) - 代码从上往下一条一条的执行,每一条只执行一次
2)分支结构(if) - 可以根据某个条件选择执行或者不执行某段代码
3)循环结构(while) - 让代码重复执行

顺序结构

print('你好吗?')
print('hello python')
print('启动程序加载静态资源')
print('检测网络状态')
print('连接爱奇艺服务器,获取网络数据')
print('提示无网络可用')
print('加载本地缓存数据')

分支结构

age = int(input('请输入年龄:'))
if age >= 18:
    print('成年')

循环结构

for _ in range(10):
    print('你好!')
2、if分支结构
1)单分支结构 - 满足某个条件就执行某个操作,如果这个条件不满足,这儿操作就不执行

语法:
if 条件语句:
代码段
说明:
1、if - 关键字,固定写法
2、条件语句 - 可以是任何有结果的表达式,例如:数据、已经赋值过的变量、运算表达式、函数调用表达式等。(赋值语句不可以)
3、: - 固定写法
4、代码段 - 和if保持一个缩进的一条或多条语句(至少一条);就是在满足条件的时候才会执行的代码
执行过程:
if xxx(条件语句) 就 xxx(代码段)
先判断条件语句是否为True(如果条件语句的结果不是布尔,则先转换为布尔再看),如果为True就执行代码,否则就不执行

print('------------------------分割线--------------------------')
if 200:
     print(type())
     print('B')
print('C')

注意:赋值语句不能作为if后面的条件
注意:if后面的代码至少要有一条语句
练习1:根据指定的年龄值打印’可以进网吧‘

age = int(input('请输入年龄:'))
if age >= 18:
    print('可以进网吧')
else:
    print('不可以去网吧')

练习2:根据分数值打印’优秀’(90分以上)

score = int(input('请输入成绩:'))
if score >= 90:
    print('优秀!')

请添加图片描述

2)双分支结构 - 满足某个条件就执行某个操作,否则就执行另外一个操作

语法:
if 条件语句:
代码段1(满足条件要执行的代码)
else:
代码段2(不满足条件的时候要执行的代码)
执行过程:如果 xxx 就 XXX 否则就 xxx
练习:根据指定整数的值打印’奇数’或者’偶数’

num = 16
if num % 2 != 0:
    print('奇数')
else:
    print('偶数')

请添加图片描述

3)多分支结构
方案一(只能解决多个条件之间存在:如果其中一个条件成立,那么其他条件绝对不会成立的关系):

if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
else:
代码段n

方案二(多个条件之间不存在其中一个满足,另外的条件绝对不满足的情况):

if 条件语句1:
代码段1
if 条件语句2
代码段2

else:
代码段n
练习 根据分数范围打印’优秀’(90以上)、‘良好’(80-90)、‘及格’(60-79)、‘不及格’(60以下)

score = 85
if score > 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 60:
    print('及格')
else:
    print('不及格')

请添加图片描述

3、if 嵌套 - if语句里面有if语句

练习:根据指定数的值打印’奇数’、‘偶数’、‘4的倍数’

num = 67
if num % 2 == 0:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')
else:
    print('奇数')

请添加图片描述

二、循环

1、for循环

语法:

for 变量 in 序列:
    循环体

说明:
a、for - 关键字:固定写法
b、变量 - 变量名,和定义变量的时候的变量名要求相同
c、in - 关键字:固定写法
d、序列 - 任何容器型数据类型,比如:字符串、列表、元组、字典、集合、迭代器、生成器、range等
e、: - 固定写法
f、循环体 - 和for保持一个缩进或者多条语句-需要重复执行的代码
执行过程:让变量去序列中取值,一个一个取完为止,每取一个就执行一次循环体(for循环循环次数和序列中元素的个数有关)

for a in 'abc你好':
    print(a, '===')
第一次循环:  a = 'a': print(a, '===')  ->  print('a', '===')
第二次循环:  a = 'b': print(a, '===')  ->  print('b', '===')
第三次循环:  a = 'c': print(a, '===')  ->  print('c', '===')
第四次循环:  a = '你': print(a, '===')  ->  print('你', '===')
第五次循环:  a = '好': print(a, '===')  ->  print('好', '===')
循环结束
2、range函数 - 产生指定范围的数字序列

range(N) - 产生0到N-1的数字序列,[0,N)

​ 例:range(4) – 0,1,2,3
range(M, N) - 产生M到N-1的数字序列,[M,N)

​ 例:range(-2,2) – -2,-1,0,1
range(M, N, step) - [M, N) 步长为step(每次增加step)
​ 例:range(1, 10, 2) - 1,3,4,7,9
​ range(10, 2, -1) - 10,9,8,7,6,5,4,3

for a in range(10):
    print(a, '你好')
print('---------------------------分割线---------------------------')
for a in range(-2, 2):
    print(a, '哦')
print('---------------------------分割线---------------------------')
for a in range(1, 10, 2):
    print(a, '狗')
for a in range(7, 3, -2):
    print(a, '猫')

请添加图片描述

3、套路
套路一:求和

第一步:定义一个变量默认值是0(这个变量就是用来保存最好的和)
第二步:使用for循环的变量依次取出需要求和的所有数据
第三步:在循环中变量每取一个值,就往保存和变量中加一个值
1 + 2 + 3 + 4 + … + 100

sum1 = 0
for a in range(1, 101):
    sum1 += a
    print(a, sum1)

score = [89, 35, 46, 67]
for a in score:
    sum1 += a
print(sum1)

请添加图片描述

套路二:统计个数

统计20到100之间偶数的个数
方法一:

count = 0
for a in range(20, 101):
    if a % 2 == 0:
        count += 1
print(count)

方法二:

count = 0
for a in range(20, 101, 2):
    count += 1
print(count)

练习:统计不及格的分数的个数

sum1 = 0
score = [30, 89, 99, 90, 50]
for a in score:
    if a < 60:
        sum1 += 1
        print(a)
print(sum1)

请添加图片描述
for a in range(20, 101, 2):
count += 1
print(count)


> 练习:统计不及格的分数的个数

```python
sum1 = 0
score = [30, 89, 99, 90, 50]
for a in score:
    if a < 60:
        sum1 += 1
        print(a)
print(sum1)

[外链图片转存中…(img-A8Zrecvj-1631796667056)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值