python流程控制

目录

一:什么是python流程控制

二:常用的python流程控制

1,if语句

1,if语句的使用

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

3,if-else条件语句

4,多重if语句

2,while循环

1,while循环语句

2,python的注释

3,字符串的格式化输出

4,while循环嵌套

3,for循环

1,for循环的几种方式

2,for循环示例

3,逻辑运算符

4,for循环嵌套

三:循环控制

1,break语句

2,contine语句

一:什么是python流程控制

Python 流程控制是 Python 编程中非常重要的一部分,它用于控制程序的执行流程。Python 提供了多种流程控制语句,包括 if 语句、while 循环、for 循环、break 和 continue 语句等。这种流程控制在各个语言中都是大同小异的。常用的主要分为三种:if语句,while循环,for循环。

二:常用的python流程控制

1,if语句

作用:根据条件判断执行不同的代码分支

语法结构:

if 条件1:
    # 条件1成立时执行
elif 条件2:
    # 条件2成立时执行
else:
    # 其他情况执行

 应用场景:

  • 用户输入验证
  • 状态机判断
  • 多条件分级处理
  • API响应状态处理

示例

# 温度分级系统
temperature = 28

if temperature > 35:
    print("高温预警")
elif 30 < temperature <= 35:
    print("注意防暑")
elif 15 <= temperature <= 30:
    print("适宜温度")
else:
    print("低温注意保暖")

1,if语句的使用

if 语句用于根据条件执行不同的代码块。condition 是一个布尔表达式,后面一定要加冒号,这是python 语法规定。if语句后面的条件表达式是可以加括号的,但并不是必须的。使用括号可以使代码更加清晰易读,特别是在复杂的条件表达式中。然而,括号并不是语法要求,可以根据个人编码习惯进行选择。

if 语句用于判断某个条件是否成立。如果成立,则执行语句内的程序;否则跳过 if 语句, 执行后面的内容,语法格式如下:

if condition:
    #代码块
else:
    #代码块

示例一:编写一个代码演示如何使用if语句来判断一个数是否为正数。

num = int(input("请输入你的整数: "))
if num >0
    print("输入的数字是正数")                  ##print前必须有空格
else:
    print("输入的数字是负数")


##执行结果
请输入你的整数:10
输入的数字是正数

示例二:使用if语句来判断学生考试成绩。

print ('请输入学生考试成绩')
score = int(input())              ##将字符串转换为数字
if score >= 90:
    print ('成绩优秀')


##执行结果
请输入学生考试成绩
90
成绩优秀

通过变量 score 保存键盘输入的成绩 80。当 if 语句判断当成绩大于等于 60 时,输出“合格”。在 Python3 中,input 方法默认返回为 str 类型。如果想要输出 int 类型就要改变输出类型为 int。

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

使用 if 语句时,后面要用到条件表示式和关系运算符,它们可以经过运算得到布尔值。如前面示例的 score>=90就是一个使用关系运算符“>=”的条件表达式,表示:如果 score 大于等于 90,则表达式的结果是 True(真);否则为 False(假)。条件表达式的语法如下。

操作数 关系运算符 操作数

常用的关系运算符如下:

关系运算符 作用
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

示例:关系运算符的运算结果

python流程控制_第1张图片

3,if-else条件语句

if 语句还可以加上 else 关键字,根据条件判断,决定执行不同的语句块。当条件为真时,执行语句块 1。当条件为假时,执行语句块 2,语法如下:

if条件表达式
语句快1 else:
语句快2

 示例:接收学生的考试成绩,使用if语句判断,如果考试成绩大于等于60分,输出”合格“ 否则输出”需要努力“

print ('请输入学生考试成绩:')
score = int(input())
if score >= 60:
    print ('合格')
else:
    print ('需要努力')


##执行结果
请输入学生考试成绩:
60
合格

请输入学生考试成绩:
50
需要努力

4,多重if语句

使用 if-else 语句通过条件判断使程序能够有 2 条执行路径,但有时还需要更多条路径进行处理,这时可以加入 elif 关键字处理。语法:

if 条件表达式1:
语句快1
elif条件表达式2:
语句快2
elif条件表达式3:
语句快3
......
else:
语句快

 示例:接收学生的考试成绩,如果考试成绩大于等于90,则输出”优秀“,如果考试成绩小于90但大于等于80分,则输出”良好“,如果考试成绩小于70分但大于等于70分,则输出”中等“,如果成绩小于60,则输出”需要努力“。

print('请输入你的成绩: ')
score = int(input())           ##使用int将输出的类型改变为数字
if score >= 90:
    print('成绩优秀')
elif score >= 80:
    print('成绩良好')
elif score >= 70:
    print('成绩中等')
else:
    print('成绩不及格')


##执行结果
请输入你的成绩
90
成绩优秀

请输入你的成绩
80
成绩良好

请输入你的成绩
70
成绩中等

请输入你的成绩
60
成绩不及格

2,while循环

whlie循环语句的作用:在条件为真时重复执行代码块

while循环语句的特点:适合不确定循环次数的场景

while循环的应用示例:

# 密码验证系统
max_attempts = 3
attempts = 0

while attempts < max_attempts:
    password = input("请输入密码:")
    if password == "secret123":
        print("登录成功!")
        break
    else:
        attempts += 1
        print(f"剩余尝试次数:{max_attempts - attempts}")
else:
    print("账户已锁定")

while循环的应用场景:

  • 实时数据监控
  • 游戏主循环
  • 重试机制
  • 交互式命令行工具

1,while循环语句

编写程序时经常有一些代码块需要重复运行,Python 提供了 while 和 for 语句实现循环操作。while 语句是先判断后执行。即:先判断条件表达式是否成立,如果条件表达式的值为 True,则执行循环操作语句。如果其值为 False,则跳出循环,执行 while 语句后面的语句。

示例:当 count 值小于正整数 5 时,执行加 1 操作。当 count 小于 5 时,输出 count 的值。

count = 0
while (count < 5):
    count = count + 1
    print (count)


##执行结果  这种模式属于遍历显示
1
2
3
4
5

 示例:输入 5 门课程的考试成绩,计算平均分并输出。

i = 1
sum = 0
while i <= 5:
    print ('请输入第%d门课的考试成绩' % i)
    sum = sum + int(input())
    i = i+1
    avg = sum / (i - 1)
    print ('我的平均成绩是%d' % avg)


##执行结果
请输入第1门的考试成绩
10
我的平均成绩是10

请输入第2门的考试成绩
20
我的平均成绩是15

请输入第3门的考试成绩
30
我的平均成绩是20

请输入第4门的考试成绩
40
我的平均成绩是25

请输入第5门的考试成绩
50
我的平均成绩是30

2,python的注释

对于编写好的代码,经过一段时间之后,有可能会忘记代码的具体作用,所以代码中要写一些注释文字,以便于日后阅读和修改代码。Python 中使用“#”开头表示注释,可以在代码中添加注释。

#输入5门课程的考试成绩,计算平均成绩
i = 1 #初始化循环计数器i
sum = 0 #初始化总成绩变量sum
while i <= 5: #重复执行5次接收考试成绩,求和的操作
    print ('请输入第%d门课的考试成绩' % i) 
    sum = sum + int(input()) #每门课程计入总成绩
    i = i+1 #计数器i增加1
    avg = sum / (i - 1) #计算平均成绩
    print ('我的平均成绩是%d' % avg) #输出平均成绩

3,字符串的格式化输出

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

示例:常用替代符的使用情况

python流程控制_第2张图片

字符串中使用对应的替代符,把相应的变量插入到了相应的位置字符串中还可以使用多个替代符,对应的变量使用元组即可,示例代码如下:

4,while循环嵌套

在 while 语句中,可以包含另一个 while 语句,即:使用 while 语句可以实现嵌套循环。

示例:使用 while 语句分别接收 2 名学生的 5 门课程考试成绩,计算并输出每个人的平均成绩。

j = 1 
prompt = '请输入学生名字:'
while j <= 2:                                       #外层循环
    sum = 0    
    i = 1     
    name = input(prompt)
    while i <= 5:                                   #内层循环
        print('请输入第%d门课程的考试成绩:' % i)
        sum = sum + int(input())
        i = i + 1
        avg = sum / (i+1)
        print('%s的平均成绩是:%d' % (name,avg))
    j = j+1
    print ('学生成绩输入完成')   


##执行结果
请输入学生名字:zhangsan
请输入第1门课程的考试成绩:
79
zhangsan的平均成绩是:23
请输入第2门课程的考试成绩:
89
zhangsan的平均成绩是:37
请输入第3门课程的考试成绩:
99
zhangsan的平均成绩是:48
请输入第4门课程的考试成绩:
50
zhangsan的平均成绩是:48
请输入第5门课程的考试成绩:
49
zhangsan的平均成绩是:47
学生成绩输入完成

请输入学生名字:1isi请
输入第1门课程的考试成绩:
10
lisi的平均成绩是:3
请输入第2门课程的考试成绩:
20
1isi的平均成绩是:7
请输入第3门课程的考试成绩:
30
1isi的平均成绩是:12
请输入第4门课程的考试成绩:
40
1isi的平均成绩是:16
请输入第5门课程的考试成绩:
50
1isi的平均成绩是:21
学生成绩输入完成

外层的 while 语句用于输入学生名字,用变量 j控制循环次数,共 2 次。

内层的 while 语句用于输入 5 门成绩,用变量 i 控制。也就是在外层循环输入一个名字后,需要输入 5 门成绩,然后输出这名学生的成绩平均值,一共可以输入2名学生。

3,for循环

for循环作用:遍历可迭代对象(列表、字符串、字典等)
for循环特点:明确循环次数,适合集合数据处理

for循环的应用示例:

# 数据处理示例
sales_data = [1200, 2350, 870, 4300]

# 计算季度总销售额
total = 0
for amount in sales_data:
    total += amount

# 找出销售额>2000的月份
high_sales = [i+1 for i, amt in enumerate(sales_data) if amt > 2000]

print(f"季度总额:{total}万")
print(f"高销售额月份:{high_sales}")

for循环的应用场景:

  • 批量文件处理
  • 数据清洗/分析
  • web路由遍历
  • 自动化测试用例执行

1,for循环的几种方式

for 语句是另一种用于控制循环结构的方式。Python 的 while 是使用条件判断执行循环,而 for是使用遍历元素的方式进行循环。

示例:for 循环可以对字符串进行遍历,逐个获得字符串的每个字符,

python流程控制_第3张图片

示例:for 循环可以对列表和元组进行遍历,(取值列表也可以用元组)

python流程控制_第4张图片

示例:需要循环操作相同的内容时,可以用 for 循环和 range()函数结合使用,先看看 range()
函数的作用。

python流程控制_第5张图片

2,for循环示例

接收某个学生三门课程的考试成绩,计算输出平均成绩。

subjects = ('python','mysql','linux')
sum = 0
for i in subjects:
    print ('请输入%s考试成绩:' % i )
    score = int(input())
    sum = sum+score
    avg = sum / 3
    print ('三门平均成绩为%d:' % avg)


##执行结果
请输入python考试成绩:10
请输入mysql考试成绩:20
请输入linux考试成绩:30
平均成绩是20

3,逻辑运算符

Python 的逻辑运算符。

  • and 逻辑与如果两个操作数都为 True,则表达式值为True,如果只有一个False,则表达式为False
  • 逻辑或如果两个操作数中有一个为 True,则表达式值为 Trueor
  • not 逻辑非求反运算,如果操作数值为 True,则表达式值为False如果操作值为False,则表达式值为True

python流程控制_第6张图片

4,for循环嵌套

与 while 循环一样,for 语句也可以使用嵌套的方式。
示例:使用 for 语句分别接收 2 名学生的 5 门课程考试成绩,计算并输出每个人的平均成绩。

students = ['zhangsan','lisi']
subjects = ['python','mysql','linux']
for student in students:
    total_score = 0  # 避免使用sum作为变量名
    for subject in subjects:
        print('请输入%s的%s考试成绩:' % (student,subject))
        score = int(input())
        total_score += score
    # 科目循环结束后再计算平均
    avg = total_score / len(subjects)  # 使用科目数量动态计算
    print('%s的平均成绩为%.2f' % (student, avg))  # 保留两位小数更合理


##执行结果
请输入zhangsan的python考试成绩
10
请输入zhangsan的mysql考试成绩
20
请输入zhangsan的linux考试成绩
30
zhangsan的平均成绩为20.00

请输入lisi的python考试成绩
10
请输入lisi的mysql考试成绩
20
请输入lisi的linux考试成绩
30
lisi的平均成绩为20.00

三:循环控制

使用 while 和 for 语句执行循环操作时,有可能需要改变循环的正常执行顺序,这时就需要用循环控制语句实现,循环控制语句有 break和 continue。

1,break语句

在循环语句块中使用 break 语句,可以跳出整个循环,

对输出平均成绩的代码进行修改,当成绩无效时,使用break 退出循环。

students = ['zhangsan','lisi']
subjects = ['python','mysql','linux']
for student in students:
    total_score = 0  # 避免使用sum作为变量名
    for subject in subjects:
        print('请输入%s的%s考试成绩:' % (student,subject))
        score = int(input())
        if(score < 0 or score > 100):  ##判断用户输入的数字,大于100小于0则跳出zhangsan整个循环
            print('输入的成绩有误,请重新输入')              ##直接进行lisi循环
            break
        total_score += score
    # 科目循环结束后再计算平均
    avg = total_score / len(subjects)  # 使用科目数量动态计算
    print('%s的平均成绩为%.2f' % (student, avg))  # 保留两位小数更合理200



##执行结果
请输入zhangsan的python考试成绩
200
输入的成绩有误,请重新输入

2,contine语句

在 Python 中,continue 语句用于跳过当前循环中的剩余代码,并继续执行下一次循环。当 continue语句被执行时,程序将立即跳转到循环的开头,而不执行 continue 语句之后的代码。它通常用于条件判断内部,用来控制循环的执行流程。

示例:分别接收 2 个学生 3 门课程('Python','MySQL','Linux')的考试成绩,要求成绩的取值范围是于等于 8 且小于等于 100;计算并输出每个学生的平均成绩:

students = ['zhangsan','lisi']
subjects = ['python','mysql','linux']
for student in students:
    total_score = 0  # 避免使用sum作为变量名
    for subject in subjects:
        print('请输入%s的%s考试成绩:' % (student,subject))
        score = int(input())
        if(score < 0 or score > 100):
            print('输入的成绩有误,请重新输入')      
            continue                                 ##不会跳过整个循环,只跳过单个循环              
        total_score += score 
    # 科目循环结束后再计算平均
    avg = total_score / len(subjects)  # 使用科目数量动态计算
    print('%s的平均成绩为%.2f' % (student, avg))  # 保留两位小数更合理200



##执行结果
请输入zhangsan的python考试成绩
10
请输入zahngsan的mysql考试成绩               ##可以看到只把zhangsan的mysql成绩跳过了
200
输入成绩有误,请重新输入
请输入zhangsan的linux考试成绩                    
30
zhangsan的平均成绩为13.33

你可能感兴趣的:(python,java,开发语言)