Python程序开发——第二章 条件语句和循环语句

简介: Python程序开发——第二章 条件语句和循环语句

前言


本章主要介绍Python中的条件语句:if语句及if语句的嵌套、for循环、while循环、break语句、continue语句等等。


一、if语句


通过if语句,产生分支,通过定义的条件结果执行不同的操作(True 或 False)。if语句中常用的大于小于或者小于或等于与一般一样,这里要注意的等于表示为”==“,不等于表示为”!=“,其左右跟要比较的对象。


(一)单分支


if语句的单分支,指只有if关键字的条件语句,可以理解为如果条件正确,则执行代码,而如果条件为假,程序会跳过if语句,执行下面的语句。

例如下列Python代码:

x = int(input("请输入一个整数:"))
if x < 0:
    print(f"输入的数字{x}小于0")


运行结果如下:

当我们输入数字大于0时,没有显示:

1667095966482.jpg

而当我们输入数字小于0时,满足if条件语句:

1667095976494.jpg


(二)双分支


通过if……else语句可以产生双分支if语句,如下,当条件表达式为正确时,执行代码块1,而当条件表达式为错误时,执行代码块2。

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

以下是一个双分支判断程序,下列Python代码:

account = input("请输入账号:")
password = input("请输入密码:")
print("请再次确认您输入的账号和密码!")
print("您的账号为:", account, end="")
print("您的密码为:", password)
print("请稍后...")
if account == "admin" and password == "123456":
    print("管理员登陆成功")
else:
    print("登陆失败!")

运行结果如下:

1667096010445.jpg

这里运用到了and,表示只有当账户和密码都为特定的值时,才能登陆成功,同样也有or,它表示或者的意思,


(三)多分支


多分支if……elif……else语句,可以处理多种情况,当条件表达式1的值为正确时,执行代码块1,否则执行条件表达式2,若条件表达式2正确,则执行代码块2,否则执行条件表达式3,依次下去,如果else语句前面的条件表达式都为错误时,则执行代码块n,格式如下:

if 条件表达式1:
  代码块1
elif 条件表达式2:
  代码块2
elif 条件表达式3:
  代码块3
elif 条件表达式n-1:
  代码块n-1
...
else:
  代码块n

下列Python代码,当输入小于0、大于0或等于0时,会有不同的输出结果:

x = float(input("请输入数字:"))
if x < 0:
    print("该数字小于0")
elif x > 0:
    print("该数字大于0")
else:
    print("该数字等于0")

运行结果如下:

当输入数字大于0时:

1667096043888.jpg

当输入数字小于0时:

1667096051195.jpg

当输入数字等于0时:

1667096060535.jpg

下列Python程序,当输入学生的成绩,会自动评价:

x = float(input("请输入学生的成绩:"))
if 60 <= x <= 70:
    print("及格!")
elif 80 <= x <= 90:
    print("良好")
elif 90 <= x <= 100:
    print("优秀!")
else:
    print("不及格!")

运行结果如下:

1667096080421.jpg


(四)if语句的嵌套


if语句可以多层嵌套,嵌套是指在if语句中包含if语句,通过缩进来表示嵌套,这里指的if语句包括上面三种分支。

比如下面的示例,程序首先判断条件表达式1的结果,若为正确,则执行代码块1,此时再判断嵌套的if语句(条件表达式2),若正确,则执行代码块2:

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


二、for循环


for循环可以对可迭代对象进行遍历,比如列表、字符串、元组、字典或集合,且可以通过range()函数来控制for循环中的循环次数。


(一)for循环的定义


for循环的格式如下,其中每当for语句执行一次循环,其临时变量会被赋值为从可迭代对象中读取的序列元素:

for 临时变量 in 可迭代对象:
    代码块


下列Python代码,通过for语句遍历输出该字符串每个字符以及遍历输出列表name的值,可迭代对象为number字符串以及列表name,然后遍历输出临时变量的值:

number = "first"
name = ["ab", "ad", "ac"]
for x in number:
    print(x)
for i in name:
    print(i)


运行结果如下:

1667096124588.jpg

另外,可以在for语句中使用continue语句跳出本次循环,使用break语句跳出整个循环,例如下列python代码:

name = ["ab", "ad", "ac", "ae", "af"]
for i in name:
    if i == "ab":
        continue
    if i == "ae":
        break
    print(i)

运行结果如下:

1667096151262.jpg


(二)range()函数控制循环次数


可以通过range()函数来生成数列,进行遍历,通过该函数控制循环执行次数,比如range(5,10)它表示的是5到9的值,即左闭右开区间。

下列Python代码,输出三次for语句中的内容:

for x in range(3):
    print("HELLO WORLD!")

运行结果如下:

1667096189833.jpg

下列Python代码,通过range()函数来生成数列,也可以用区间或步长来表示,可看到range(3,6)输出的是3至5:

for x in range(3, 6):
    print(x)
print("\t")
for y in range(3):
    print(y)


运行结果如下:

1667096227171.jpg

下列Python代码,利用for循环输出1+2+3+……+100的结果,可以直接让for循环执行100次,即range(101):

number_sum = 0
for i in range(101):
    number_sum += i
print(number_sum)


运行结果如下:

1667096244208.jpg

通过range()函数,了解到它默认每次循环序列加1,所以可通过添加一个参数来指定增量值,比如这里range(3, 20, 2)表示3到19每次循环增加2:

for z in range(3, 20, 2):
    print(z)

运行结果如下:

1667096261870.jpg


(三)for循环中的else子句


可以在for循环内添加else子句来指定循环结束时执行的代码。

例如下列python代码:

for z in range(3, 20, 2):
    print(z)
else:
    print("循环结束!")

运行结果如下:

1667096285273.jpg


(四)for语句的嵌套


for循环可嵌套,要注意缩进,例如下列python代码:

a = ["1班", "2班", "3班", "4班"]
b = [25, 30]
for i in a:
    for x in b:
        print(i, x)

运行结果如下:

1667096305029.jpg

例如下列python代码,要求通过for循环来输出100以内的质数(素数也叫质数,即只有两个正因数【1和本身】的自然数),通过for循环嵌套:

i = 2
for i in range(2, 100):
    j = 2
    for j in range(2, i):
        if i % j == 0:  # 若i与j的余数等于0时则通过break语句跳出整个循环
            break
    else:  # 否则输出i
        print(f"{i} ", end="")

运行结果如下:

1667096322648.jpg

也可以创建一个列表来完成本题,如下:

a = []  # 创建一个列表
for i in range(2, 100):  # 判断i是否为素数,若为则打印该数,否则通过break语句跳过本次循环
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        a.append(i)  # 通过append()方法在列表a的末尾添加新的元素
print(a)


运行结果如下:

1667096345134.jpg


三、while循环


while循环的格式如下,若条件表达式为正确时,则重复执行代码块中的内容,直到表达式为错误时退出,不再执行循环中的代码块:

while 条件表达式:
  代码块

下列Python,通过while循环计算1+2+…+100的值:


i = 1
sum = 0
while i <= 100:
    sum = i + sum
    i = i + 1
print("1+2+...+100的值为:", sum)


运行结果如下:

1667096377797.jpg

另外可以通过设置while 1或while True来无限循环,如下列Python代码:

a = 0
while 1:
    x = int(input("输入数字:"))
    x = x + 1
    a = x + a
    print(f"目前结果为:{a}")

运行结果如下:

1667096496473.jpg

另外while循环也是可以嵌套的,也是通过缩进来进行嵌套。


四、break语句和continue语句


Python中有两种跳转语句,它们只能在循环中使用,不能够单独使用,break语句表示跳出整个循环,continue语句表示跳出本次循环。

下列Python代码中,通过continue语句,设定当输入数字i小于0时,跳出本次循环,不将其加入sum计算中:

sum = 0
y = 1
while y == 1:
    x = int(input("输入数字:"))
    x = x + 1
    if x < 0:
        continue
    sum = x + sum
    print("目前结果为:", sum)

运行结果如下:

1667096511425.jpg

下列Python代码中,通过break语句,设定当输入数字i小于0时,跳出整个循环并输出结果:

sum = 0
y = 1
while y == 1:
    x = int(input("输入数字:"))
    x = x + 1
    if x < 0:
        break
    sum = x + sum
print("结果为:", sum)


运行结果如下:

1667096543756.jpg


五、pass语句


pass语句也叫占位语句,通过使用可以避免程序抛出异常,即用在代码中使程序可以正常运行。

for x in [0, 1, 2, 3]:
    if x == 0 or x == 3:
        pass
    else:
        continue
    print(x)


运行结果如下:

1667096562309.jpg

相关文章
|
2月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
40 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
2月前
|
Python
揭秘Python编程核心:一篇文章带你深入掌握for循环与while循环的奥秘!
【8月更文挑战第21天】Python中的循环结构——for循环与while循环,是编程的基础。for循环擅长遍历序列或集合中的元素,如列表或字符串;而while循环则在未知循环次数时特别有用,基于某个条件持续执行。本文通过实例展示两种循环的应用场景,比如用for循环计算数字平方和用while循环计算阶乘。此外,还通过案例分析比较了两者在处理用户输入任务时的不同优势,强调了根据实际需求选择合适循环的重要性。
43 0
|
6天前
|
Python
Python 循环语句的高级应用与深度探索
本文深入探讨了Python中循环语句的高级应用,包括`for`循环遍历字典获取键值、同步遍历多个序列,以及`while`循环结合条件判断和异常处理。通过嵌套循环实现了矩阵乘法,并介绍了如何优化循环以提升程序性能。示例代码展示了这些技术的实际应用。
34 15
|
15天前
|
Python
Python 中如何循环某一特定列的所有行数据
Python 中如何循环某一特定列的所有行数据
27 2
|
2天前
|
Java C++ Python
【Python】循环语句(while、for)、continue、break
【Python】循环语句(while、for)、continue、break
13 0
|
2天前
|
Java 程序员 C++
【Python】动态类型、输入和输出、条件语句
【Python】动态类型、输入和输出、条件语句
11 0
|
26天前
|
机器学习/深度学习 IDE 算法框架/工具
Python程序开发
Python程序开发
12 3
|
29天前
|
存储 前端开发 索引
11个Python循环技巧
本文介绍了在Python中使用循环创建多个列表的方法,并提供了丰富的代码示例。内容涵盖根据固定数量、条件、数据类型、属性、索引范围、哈希值等不同条件创建列表的技巧,展示了如何灵活运用循环和列表推导式,提高代码的灵活性与可维护性,加速开发流程并提升程序性能。
|
5天前
|
索引 Python
Python 循环语句的高级应用与技巧
在 Python 中,循环语句是实现重复操作的关键工具。本文深入探讨了循环的高级应用与技巧,包括遍历字典的键值对、同时遍历多个序列、使用 `zip` 函数、处理复杂的 `while` 循环条件、嵌套循环的应用、使用 `break` 和 `continue` 控制循环流程、利用 `enumerate` 获取索引以及结合列表推导式简化循环逻辑。这些技巧有助于更高效地编写 Python 代码。
11 0
|
2月前
|
搜索推荐 Python
Python基础编程:冒泡排序和选择排序的另一种while循环实现
这篇文章介绍了Python中冒泡排序和选择排序的实现,提供了使用while循环的替代方法,并展示了排序算法的运行结果。
21 2
Python基础编程:冒泡排序和选择排序的另一种while循环实现