6.1 Python 单分支结构 if语句

第6章 程序流程控制

6.1 单分支结构 if语句

6.1.1 顺序结构

控制流指的是控制程序的执行流程。
Python控制流有三种结构:顺序结构分支结构循环结构
【体验代码】

# 定义2个变量
a = 10
b = 20 

# 计算2个变量的和
sum = a + b

# 输出和
print(sum)

【终端输出】

30

分析上述代码的执行顺序:
第一句、第二句代码执行赋值;
第三句代码计算2个变量的和;
第四句执行打印语句。
像这样从上到下一行一行执行的流程,就是控制流的中的顺序结构。

在这里插入图片描述

6.1.2 单分支结构 if语句

【体验代码】

# 利用input函数输入
identity  = input('请问你是学生吗(请输入是或不是):')

# if 条件判断语句
# == 比较运算符,判断左右两边是否相等
if identity == '是' :
    print('学生购买火车票可以享受5折优惠!')
if identity == '不是' :      
    print('不是学生不享受购票优惠!')

【终端输出】

不是学生不享受购票优惠!

identity [aɪˈdentəti]:身份。
运行上述代码,当我们输入不同的内容,终端会输出不同的结果。
当我们输入,输出的是学生购买火车票可以享受5折优惠!
当我们输入不是,输出的是不是学生不享受购票优惠!
像上面这样根据不同条件的结果,执行不同的代码块,就是Python控制流中的分支结构,if 语句就称之为条件判断语句。

在这里插入图片描述

if语句语法
一个if 语句包含5个要素:

在这里插入图片描述

语法讲解
一个 if 语句包含有五个要素:
① 关键词"if";② “条件”;③ 英文冒号":";④ 缩进;⑤ 代码块

注意事项
1、注意键词if 后面有空格,没有空格程序会报错。
2、条件后面的冒号必须是英文冒号,若使用中文冒号,程序会报错:SyntaxError: invalid character (无效字符)。
3、注意代码块前有缩进(缩进是指四个空格),这是我们学的第一个缩进,缩进在Python中是一种语法格式,必须严格执行。
4、代码块可以是一句代码,也可以是多句代码。

缩进的实现
1、方法一:在if语句后输入英文冒号后回车,系统会自动缩进4个空格。
2、方法二:按tab键可以也可以实现缩进4个空格。
3、方法三:连续敲击4次空格键,可以实现缩进4个空格。
4、方法四:按Ctrl+可以实现向右缩进4个空格,按Ctrl+可以实现向左缩进4个空格。

代码优化

# 利用input函数输入
identity  = input('请问你是学生吗(请输入是或不是):')

# if 条件判断语句
# == 比较运算符,判断左右两边是否相等
if identity == '是' :
    print('学生购买火车票可以享受5折优惠!')
else:    
    print('不是学生不享受购票优惠!')

【终端输出】

不是学生不享受购票优惠!

我们的第一段代码中文释义为:
如果你是学生,购买火车票可以享受5折优惠,如果你不是学生,不享受购票优惠!
我们的第二段代码中文释义为:
如果你是学生,购买火车票可以享受5折优惠,否则不享受购票优惠!
观察上述代码,我用else: 替代了我们最开始的if identity == '不是' :
大家发现if...else...语句书写更为简洁方便。
if...else...相当于中文的【如果…就…;否则就….】。

代码讲解
第一行input 获取终端输入的值,这里要注意input 获取的值是字符串类型,如果是进行数字的判断,记得要转换数据类型。
第二行,if 语句的条件是 identity == '是' 如果输入的内容为,输入的值满足 if 语句的条件,就会执行 if 语句的代码块,即'学生购买火车票可以享受5折优惠!'
如果输入的内容为不是,输入的值不满足 if 语句的条件,程序就会选择 else 语句的代码块,即'不是学生不享受购票优惠!'
这里 else 语句实现的是【如果…就…;否则…】中【否则…】的功能。
else 语句的语法:① 关键词"else";② 英文冒号":";③ 4个空格的缩进;④ 代码块。

else 注意事项
1、关键词else 与 if 对齐;
2、else 后的代码块也有4个空格的缩进。

6.1.3 总结

if 语句是Python中比较常用的,它的5要素一定要牢记;
比较容易出错的是英文冒号和缩进。

6.1.4 课堂练习

下面我们来用if语句写一段登录网站验证身份的代码:
username = admin
password = 123456

# input函数从终端输入用户名和密码
username = input ('请输入用户名:')
password = input ('请输入密码:')

# 判断用户名和密码输入是否正确
# 判断的条件有2个:一个是用户名,一个是密码
# 两个条件是且的关系,因此用and逻辑与运算符
if username == 'admin' and password == '123456' :
    print('身份验证成功')
else:
    print('身份验证失败,用户名或密码错误!')

【终端输出】

身份验证失败,用户名或密码错误!

提醒:判断两个对象是否相等用==
大家可以输入不同的用户名和密码进行验证。

6.1.5 课后练习

根据流程图,拟写代码。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值