分支和循环

本文详细介绍了Python编程中的流程控制结构,包括顺序结构、分支结构(if单分支、if双分支、if多分支)和循环结构(for循环)。通过实例展示了如何根据条件执行不同代码块,并讲解了range函数的使用。内容涵盖了条件判断、循环次数控制以及循环在累计求和、统计个数场景的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分支和循环

流程控制 —— 控制代码执行的顺序

  1. 顺序结构:代码从上往下依次执行,每条语句只执行一次。(默认)

  2. 分支结构:根据条件选择执行或者不执行部分代码。(使用 if )

    age = int (input("请输入你的年龄:" ))
    if age >= 18:
        print ("成年")
    else:
    print("未成年")
    
  3. 循环结构:让代码重复执行( for 、while )

    # for 循环
    for _ in rang(10):
        print("小周")
    

if 分支结构

  1. if 单分支结构 —— 如果。。。就。。。

    语法:

    if 条件语句 :
    	代码段(满足条件才会执行的代码)
    

    解决问题:满足条件执行某个操作,添加不满足的时候就不执行。

    说明:

    if —— 关键字,固定写法

    条件语句 —— 可以任何有结果的表达式,包括:具体的数据、运算表达式(赋值运算除外)、已经赋值过的变量、函数调用表达式

    : —— 固定写法

    代码段 —— 从结构上就是和if保持一个缩进的一条或者多条语句(至少一条);

    ​ 从逻辑上,代码段就是条件成立的时候才会执行的代码

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJLW23Hl-1646395061993)(F:\QFPython\截图\day041.png)]

    #如果变量保存的数据是整数打印 '整型'
    num = 33
    if type(num) == int :
        print("整型")
    
    # 根据分数打印'及格'
    score = float(input("请输入你的成绩:"))
    if score >= 60.0:
        print("成绩合格")
    
  2. if 双分支结构 —— 如果…就…否则

    应用场景:满足某个条件执行某个操作,条件不满足就执行另外的操作

    语法:

    if 条件语句:
    	代码段1(满足条件需要执行的代码)
    else:
    	代码段2(条件不满足的时候需要执行的代码)
    
    #如果变量保存的数据是整数打印 '整型'
    num = 33
    if type(num) == int :
        print("整型")
    else:
        print("不是整型")
    
    # 根据分数打印'及格'
    score = float(input("请输入你的成绩:"))
    if score >= 60.0:
        print("成绩合格")
    else:
        print("成绩不合格")
    
    # 判断一个整数的奇偶性
    #方法一:
    num = int(input("请输入一个整数:"))
    if num % 2 == 0:
        print(num,"是偶数",sep='')
    else:
        print(num,"是奇数",sep='')
    #方法二:
    num = int(input("请输入一个整数:"))
    if num % 2:			#余数为1 代表True, 余数为0 代表False
        print(num,"是奇数",sep='')
    else:
        print(num,"是偶数",sep='')
    
  3. if 多分支结构 —— 如果…就… 如果…就… 如果…就…否则…

    应用场景:根据不同的条件执行不一样的操作

    语法:

    if 条件1:
    	代码段1
    elif 条件2:
    	代码段2
    elif 条件3:
    	代码段3
    ...						# elif 可以任意多个;else可以有也可以没有
    else:
    	代码段N
    
    #   根据分数打印奖学金金额 
    # 方法一:这个方法判断完成后,还会继续判断后面的操作
    	# 主要解决:根据不同条件做不一样的事情
    score = float(input("请输入你的成绩:"))
    if score > 90:
        print(2000)
    if 85< score <=90:
        print(1000)
    if 75 < score <=85:
        print(500)
    if 60 <= score <75:
        print(200)
    else:
        print(0)
    # 方法二:
    	# 主要解决:根据不同条件做不一样的事情,但是要求条件和条件之间的关系,一个条件成立另外的条件绝不成立的关系。
    score = float(input("请输入你的成绩:"))
    if 90 < score:
        print(2000)
    elif 85 < score:
        print(1000)
    elif 75 < score:
        print(500)
    elif 60 <= score:
        print(200)
    else:
        print(0)
    

for 循环

  1. 语法:

    for 变量 in 序列:
        循环体 (需要执行的代码)
    

    说明: for —— 关键字;固定写法

    ​ 变量 —— 有效变量名(可以是已经定义过的,也可以是没有定义过的)

    ​ in —— 关键字;固定写法

    ​ 序列 —— 容器型数据类型的数据;容器型数据类型包括:字符串、列表、字 典、元组、迭代器、生成器、range 等。

    ​ 循环体 —— 和 for 保持一个缩进的一条或者多条语句;循环体就是需要重复执 行的代码。

    执行过程:让变量去序列中取值,一个一个取,取完为止;取一个值就执行一次循环体

    for 循环的循环次数和序列中元素的个数有关。

  2. range 函数 —— 创建等差数列(整数)

    range(N) --- # 产生[0,N)的等差数列,差是 1 
    range(M,N) --- # 产生[M,N)的等差数列,差是 1
    range(M,N,step) --- #产生[M,N)的等差数列,差是 step
    range(1,10,2) ---> # 1,3,5,7,9
    
  3. 两个应用的场景:

    ① 累计求和:

    #写代码求 1+2+3+...+100的和
    result = 0 
    for x in range(1,101):
        result += x
    print(result)
    
    # 10的阶乘
    result = 1
    for i in range(1,11):
        result *= i
    print(result)
    

    ② 统计个数:

    # 统计1000 以内奇数的个数
    count = 0
    for i in range (1,1000):
        if i % 2 == 1:
            count += 1
    print(count)
    
    # 统计1000以内能被3整除,但不能被7整除的个数
    count = 0
    for i in range (3,1000,3):
        if i % 7 != 0:
            count += 1
    print(count)
    

if i % 2 == 1:
count += 1
print(count)


```python
# 统计1000以内能被3整除,但不能被7整除的个数
count = 0
for i in range (3,1000,3):
    if i % 7 != 0:
        count += 1
print(count)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值