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

相关文章
|
19天前
|
程序员 Python
Python控制结构:条件语句和循环详解
【4月更文挑战第8天】本文介绍了Python的两种主要控制结构——条件语句和循环。条件语句包括`if`、`elif`和`else`,用于根据条件执行不同代码块。`if`检查条件,`else`提供替代路径,`elif`用于多个条件检查。循环结构有`for`和`while`,前者常用于遍历序列,后者在满足特定条件时持续执行。`for`可结合`range()`生成数字序列。`while`循环适用于未知循环次数的情况。循环控制语句`break`和`continue`能改变循环执行流程。理解和熟练运用这些控制结构是Python编程的基础。
|
19天前
|
Python
Python循环语句(三)
Python循环语句(三)
55 1
Python循环语句(三)
|
13天前
|
Python
Python基础教程——循环语句
Python基础教程——循环语句
|
13天前
|
存储 Python
Python基础教程——条件语句
Python基础教程——条件语句
|
4天前
|
存储 程序员 Python
Python for循环语句
Python for循环语句
11 1
|
4天前
|
存储 Python
Python while循环语句
Python while循环语句
11 0
|
4天前
|
Python
Python循环语句
Python循环语句
|
4天前
|
Python
Python条件语句
Python条件语句
13 1
|
5天前
|
索引 Python
Python for 循环语句
Python for 循环语句
|
5天前
|
Python
Python While 循环语句
Python While 循环语句