Python流程控制

目录

一,条件判断:if语句

1.基本语法与示例

2.多重条件判断(elif)

3.常见错误与避坑指南

1.缩进错误

2.遗漏冒号

二,循环结构:while与for

1.while循环

2.Python的注释

3.字符串的格式化输出

4.for循环与遍历

5.嵌套循环与逻辑运算符

三,循环控制:break与continue

1.break语句

2.continue语句

四,字符串格式化与输入验证

1.字符串格式化

2.输入验证与健壮性


一,条件判断:if语句

1.基本语法与示例

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

if 条件表达式:
    代码块1
else:
    代码块2

示例1:判断输入的数是否为正数

num = int(input("请输入一个整数:"))
if num > 0:
    print("输入的数是正数")
else:
    print("输入的数不是正数")

执行流程:

  • num>0True,执行print("正数")。
  • 若为False,执行print("非正数")。

2.多重条件判断(elif)

使用if语句时,后面要用到条件表示式和关系运算符,它们可以经过运算得到布尔值。

语法:

操作数        关系运算符        操作数

关系运算符    说明

==        等于

!=        不等于

>        大于

<        小于

>=        大于等于

<=        小于等于

当需要处理多个条件时,使用elif扩展逻辑分支:

if 条件1:
    代码块1
elif 条件2:
    代码块2
else:
    代码块3

示例:成绩分级

score = int(input("请输入成绩:"))
if score >= 90:
    print("优秀")
elif score >= 70:
    print("良好")
elif score >= 60:
    print("合格")
else:
    print("需努力")

  • 条件顺序:条件应从高到低排列,避免逻辑错误。
  • 互斥性:elifelse仅在前一条件不满足时触发。

3.常见错误与避坑指南

1.缩进错误

if score > 60:
print("合格")  # 错误:未缩进

修正:

if score > 60:
    print("合格")

2.遗漏冒号

if score > 60  # 错误:缺少冒号
    print("合格")

修正:

if score > 60:
    print("合格")

  • 工具辅助:使用IDE(如VSCode)自动补全冒号和缩进。
  • 代码审查:多人协作时需检查代码格式。

二,循环结构:while与for

1.while循环

循环的条件表达式后面也要使用冒号,然后缩进写循环操作语句。while语句是先判断后执行。即:先判断条件表达式是否成立,如果条件表达式的值为True,则执行循环操作语句。如果其值为False,则跳出循环,执行while语句后面的语句。

语法:

while 条件表达式:
    循环体代码

示例:计算5门课程平均分

i = 1
sum = 0
while i <= 5:

        print('请输入第%d 门课程的考试成绩' % i)

        sum = sum + int(input())

        i = i + 1

        avg = sum / ( i - 1 )

        print ('5门课程的平均成绩是%d' % avg)

  • 适用场景:循环次数不确定时(如用户输入验证)。
  • 避免死循环:确保条件最终变为False。

2.Python的注释

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

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 ('5门课程的平均成绩是%d' % avg)        #输出平均成绩

3.字符串的格式化输出

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

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

num = 5

numStr = "5"

numF = 5.55

print ("第%d 名" % num)

print ("第%d 名" % numStr)

print ("浮点数是: %f"  %numF)

4.for循环与遍历

语法:

for 变量 in 可迭代对象:
    循环体代码

示例:遍历列表

fruits = ["西瓜", "苹果", "葡萄"]
for fruit in fruits:
    print(fruit)

结合range函数:生成序列

for i in range(5):       # 0-4
    print(i)
for i in range(0, 10, 2): # 0,2,4,6,8
    print(i)

  • 遍历优势:适合处理集合数据(列表,元组,字符串)。
  • range灵活性:可指定起始值,终止值和步长。

5.嵌套循环与逻辑运算符

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

students = ["小明", "小张"]
subjects = ["Python", "MySQL", "Linux"]
for student in students:
    total = 0
    for subject in subjects:
        score = int(input(f"{student}的{subject}成绩:"))
        total += score
    print(f"{student}平均分:{total/3}")

逻辑运算符:

  • and:所有条件为真时触发。
  • or:任意条件为真时触发。
  • not:反转布尔值。

示例:成绩有效性检查

score = int(input("请输入成绩:"))
if score < 0 or score > 100:
    print("成绩无效!")

  • 嵌套逻辑:外层循环控制整体流程,内层处理细节。
  • 运算符优先级: not > and > or,必要时用括号明确优先级。

三,循环控制:break与continue

1.break语句

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

作用:立即终止当前循环,跳出循环体。

示例:输入无效成绩时退出

for student in ["小明", "小张"]:
    total = 0
    for subject in ["Python", "MySQL"]:
        score = int(input(f"{student}的{subject}成绩:"))
        if score < 0:
            print("无效!退出循环")
            break  # 终止内层循环
        total += score
    print(f"{student}总分:{total}")

  • 应用场景:检测到错误或满足终止条件时提前退出。
  • 作用范围:仅终止最近的循环。

2.continue语句

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

示例:

i = 0
while i < 3:
    score = int(input("请输入成绩:"))
    if score < 0:
        print("无效!重新输入")
        continue  # 跳过后续代码
    total += score
    i += 1

  • 适用情况:需忽略当前迭代的部分操作时使用。
  • 循环进度:continue后循环变量可能需手动更新(如 i += 1)。

四,字符串格式化与输入验证

1.字符串格式化

传统方法:使用%占位符

name = "小明"
age = 18
print("姓名:%s,年龄:%d" % (name, age))  # 输出:姓名:小明,年龄:18

现代方法:推荐 f-string (Python 3.6+)

print(f"姓名:{name},年龄:{age}")

  • 占位符类型:%(字符串),%d(整数),%f(浮点数)。
  • f-string优势:更简洁,支持表达式内嵌(如{score * 1.1})。

2.输入验证与健壮性

示例:确保输入成绩在0-100之间

while True:
    score = int(input("请输入成绩(0-100):"))
    if 0 <= score <= 100:
        break
    print("输入无效!")

  • 循环验证:结合 while True 和 break 实现强制输入。
  • 异常处理:可扩展 try-except 捕获非数字输入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值