Python 流程控制

目录

一、if 语句

1. 概述

2. 条件表达式与关系运算符

3. if-else 条件语句

4. 多重 if 语句

5. if 语句的常见问题

二、Python 的循环

1. while 循环

(0)概述

(1)while 循环语句

(2)Python 的注释

(3)字符串的格式化输出

(4)while 循环嵌套

2. for 循环

(0)概述

(1)for 循环的几种方式

(2)for 循环示例

(3)for 循环嵌套

三、循环控制

(1)break 语句

(2)continue 语句

总结对比表


一、if 语句

1. 概述

  • if 语句用于条件判断,根据条件表达式的结果(True/False)决定代码执行路径。
if 语法:
if condition:
       #代码块

else:
       #代码块
  • 示例

    #判断一个数是否是正数示例
    num=int(input("输入一个数字"))  #input函数输入的都是字符串类型
    if num>0:
        print("输入的数字是正数")
    else:
        print("输入的数字是负数")
    
    #判断学生成绩示例
    print("请输入学生的成绩:")  
    score = int(input())
    if score >=81:
        print("成绩优秀,继续保持!")
    elif score <=80 and score >=70:
        print("成绩良好,继续努力!")
    elif score >=60:
        print("成绩及格,继续加油!")
    else:
        print("成绩不及格,请努力学习!")
    

2. 条件表达式与关系运算符

概述: 经过运算得到布尔值,返回的结果是 True(真)或 False(假)。

语法:操作符  关系运算符 操作数

关系运算符:用于比较值的大小或相等性。

运算符含义示例
==等于5 == 5 → True
!=不等于3 != 2 → True
>大于10 > 5 → True
<小于3 < 1 → False
>=大于等于5 >= 5 → True
<=小于等于4 <= 3 → False

逻辑运算符:组合多个条件。

运算符含义示例
and逻辑与(age > 18) and (age < 60)
or逻辑或(score >= 90) or (bonus > 0)
not逻辑非not (x == y)

3. if-else 条件语句

根据条件选择执行不同分支:

if 条件表达式:  
    # 条件为 True 时执行的代码  
else:  
    # 条件为 False 时执行的代码  
age = 20  
if age >= 18:  
    print("成年人")  
else:  
    print("未成年人")  

4. 多重 if 语句

语法:

if 条件1:  
    # 条件1为 True 时执行  
elif 条件2:  
    # 条件2为 True 时执行  
else:  
    # 所有条件为 False 时执行  

示例:

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

5. if 语句的常见问题

  • 缩进错误:未对齐代码块 → 引发 IndentationError

  • 逻辑错误:条件顺序不当(如先判断 score >= 60,再判断 score >= 80)。

  • 误用 =if x = 5(应为 if x == 5)。

二、Python 的循环

1. while 循环

(0)概述

重复执行代码块,直到条件变为 False

(1)while 循环语句

while 条件表达式:  
    # 循环体(条件为 True 时执行)  

#False假结束(必须有限制,最终为假,否则会陷入死循环)

示例:

i=1   #初始化循环变量i为1
sum=0   #初始化变量sum为0
while i<=5:     #当i小于等于5时执行循环体
    print ('请输入第%d 门课程的考试成绩:'%i) #输出提示信息
    sum=sum+int(input())   #输入成绩并累加到sum变量中
    i=i+1     #循环变量i加1
    avg=sum/(i-1)   #计算平均成绩
    print('平均成绩为:%d' %avg)   #输出平均成绩
(2)Python 的注释
  • 单行注释# 这是注释 (行开头“#”为单行注释,紧随同行代码的“#”的为行内注释。)

  • 多行注释:用三引号包裹('''注释''' 或 """注释"""

(3)字符串的格式化输出

字符串中的“%d”,表示插入的是一个整型数据,%s 格式化字符串,%f 格式化浮点数字;字符串后面的“% i”表示获取变量 i 的值。

num = 5
numStr = '5'
numF = 5.55
print ("第%d 名" % num)
print ("第%s 名" % numStr)
print ("浮点数是:%f" % numF)
(4)while 循环嵌套

在while 语句中,可以包含另一个 while 语句

j=1   #初始化循环变量j为1
pro='请输入学生名字:' 
while j<=2:
    sum=0   #初始化变量sum为0
    i=1  
    name=input(pro)
    while i<=5:
        print ('请输入第%d 门课程的考试成绩:'%i) #输出提示信息))
        sum=sum+int(input())   #输入成绩并累加到sum变量中
        i=i+1     #循环变量i加1
        avg=sum/(i-1)   #计算平均成绩
        print('%s平均成绩为:%d' %(name,avg))   #输出平均成绩
    j=j+1
    print('学生输入结束!')

2. for 循环

(0)概述

遍历可迭代对象(如列表、字符串、字典等),按顺序处理每个元素。

(1)for 循环的几种方式

(逐个获得字符串的每个字符)

  • 遍历列表和元组

    fruits = ["apple", "banana", "cherry"]  
    for fruit in fruits:  
        print(fruit)  
  • 遍历字符串:

    for letter in "Python":  
        print('Current letter:%s' %letter)  
  • 结合 range()

    for i in range(5):        # 0~4  
        print(i)  
    for i in range(1, 6):     # 1~5  
        print(i)  
    for i in range(0, 10, 2): # 0,2,4,6,8  
        print(i)  
(2)for 循环示例
subject=('语文','数学','英语','物理','化学')    
i=0
for i in subject:
    print('请输入%s成绩:'%i)
    score=int(input())
    sum=sum+score  #计算总分数
avg=sum/5  #计算平均成绩
print('科目总成绩',sum,'平均成绩',avg)
(3)for 循环嵌套
students=['zhangsan','lisi']    
subjects=['语文','数学','英语']
for stud in students:
    sum=0
    for sub in subjects:
        print('请输入%s的%s成绩:'%(stud,sub))
        score=int(input())
        if score<0 or score>100:
            print('输入的成绩有误!')
            continue

        sum=sum+score  #计算总分数
    avg=sum/3  #计算平均成绩
    print('%s的成绩总成绩为:%d,平均成绩为:%d'%(stud,sum,avg))
        

三、循环控制

(1)break 语句

作用:立即终止整个循环,跳出循环体。

示例

num = 0  
while True:  
    print(num)  
    num += 1  
    if num >= 5:  
        break  # 当 num=5 时终止循环  
(2)continue 语句

作用:跳过当前迭代,直接进入下一次循环。

示例

for i in range(10):  
    if i % 2 == 0:  
        continue  # 跳过偶数  
    print(i)      # 输出 1,3,5,7,9  

总结对比表

语句用途典型场景
if-elif-else条件分支判断根据输入选择不同操作
while未知次数的循环读取文件直到结束
for遍历已知集合元素处理列表、字典、字符串
break强制退出循环找到目标后提前终止搜索
continue跳过当前迭代过滤不符合条件的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值