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

Posted 晚风(●•σ )

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python程序开发——第二章 条件语句相关的知识,希望对你有一定的参考价值。


前言

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

一、if语句

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

(一)单分支

if语句的单分支,指只有if关键字的条件语句,可以理解为如果正确,则执行代码。
下列Python代码:

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

运行结果如下:
当我们输入数字大于0时,没有显示:

当我们输入数字小于0时:

(二)双分支

通过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("登陆失败!")
    

运行结果如下:

这里运用到了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时:

当输入数字小于0时:

当输入数字等于0时:

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

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

运行结果如下:

(四)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语句遍历输出该字符串每个字符,临时变量为x,可迭代对象为number字符串,然后遍历输出临时变量的值:

number = "12345"
for x in number:
    print(x)

运行结果如下:

(二)range()函数

可以通过range()函数来生成数列,进行遍历,也可以通过该函数控制循环执行次数。
下列Python代码,输出三次for语句中的内容:

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

运行结果如下:

下列Python代码,通过range()函数来生成数列,也可以用区间或步长来表示:

n1 = "abcdef"
for x in range(3, 6):
    print(x)
print("\\t")
n2 = "123456"
for y in range(3):
    print(y)
print("\\t")
n3 = "ABCDEF"
for z in range(1, 5, 2):
    print(z)

运行结果如下:

三、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)

运行结果如下:

可以通过设置while==1来无限循环,下列Python代码,可以通过ctrl+c退出循环:

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

运行结果如下:

另外for循环和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)

运行结果如下:

下列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)

运行结果如下:

以上是关于Python程序开发——第二章 条件语句的主要内容,如果未能解决你的问题,请参考以下文章

python条件判断语句

学习python第二篇 if语句及逻辑判断

python 学习 之 第二章(条件循环和其他语句)

Python条件语句

[Python]第二章(条件语句和循环语句)—建议收藏

python if判断两个条件