python2

v>

软件测试
广州博才科技开发有限公司
迅捷PDF编辑器
2.3 分支语句
学习目标:
1. 能够说出 if 分支语句的作用
2. 能够说出 if 语句的语法格式
3. 能够说出什么是 BUG
2.3.1 BUG
BUG 原意为臭虫,在计算机领域,指 导致程序 不能正常执行,或者 执行结果不是预期的 错误. BUG是程序员在
开发时非常常见的,初学者常见错误的原因包括:
1. 手误.
2. 对技术点理解不足.
3. 业务思路不熟练.
在学习语言时,不仅要学会语法,还要学会如何认识和解决错误的方法. 每一个程序员都必备的能力:
1. 编码能力.
2. 解决错误能力.
2.3.2 IF分支语句
先看一个系统登录的案例:
# 请输入您的用户名
username = input('请输入您的用户名:')
# 请输入您的密码
password = input('请输入您的密码:')
# 打印欢迎信息
print('欢迎 %s 登录系统!' % username)
以上的程序在执行过程中, 无论你输入的是什么, 都显示出来欢迎登录系统的信息提示. 实际上, "欢迎登录系统" 这
个提示信息是否要打印出来, 取决于用户名和密码是否正确, 也就是说代码要有选择性的去执行, 而不是最开始无论
你写了多少行代码, 都会执行.
如何在程序中, 实现这种有选择的执行某些特定代码呢?
使用 if 分支语句.
2.3.2.1 if 分支语法
1. 单个分支语法格式
if 条件一:
执行一行或多行特定代码
如果条件成立则执行 if 下面的代码, 不成立则不会执行.
案例代码:
26软件测试
广州博才科技开发有限公司
迅捷PDF编辑器
a = 10
if a > 5:
print('a > 5')
2. 两个分支语法格式
if 条件一:
执行一行或多行特定代码
elif 条件二:
执行一行或多行特定代码
如果 if 条件成立, 则执行 if 下面的代码 如果 elif 条件成立, 则执行 elif 下面的代码 如果 if elif 条件同时成立, 则 执行
第一个满足条件的分支
案例代码:
name = 'Obama'
if name == 'Obama':
print('我是 Obama!')
elif name == 'Trump':
print('我是 Trump!')
if 条件一:
执行一行或多行特定代码
else:
执行一行或多行特定代码
如果 if 条件成立, 则执行 if 下面的代码 如果 if 条件不成立, 则执行 else 下面的代码 if 和 else 代码必定会执行其中
一个
案例代码:
name = 'Obama'
if name == 'Obama':
print('我是 Obama!')
else:
print('我是其他人!')
注意: else 后面不需要写条件.
3. 多个分支语法格式
if 条件一:
执行一行或多行特定代码
elif 条件二:
执行一行或多行特定代码
elif 条件三:
执行一行或多行特定代码
elif 条件四:
执行一行或多行特定代码
如果 if 条件成立, 则执行 if 下面的代码 如果 elif 条件成立, 则执行 elif 下面的代码 如果 if elif 条件同时成立, 则 执行
第一个满足条件的分支
27软件测试
广州博才科技开发有限公司
迅捷PDF编辑器
案例代码:
day = input('请输入1-7的数字:')
if day == '1':
print('今天是星期一')
elif day == '2':
print('今天是星期二')
elif day == '3':
print('今天是星期三')
elif day == '4':
print('今天是星期四')
elif day == '5':
print('今天是星期五')
elif day == '6':
print('今天是星期六')
elif day == '7':
print('今天是星期日')
if 条件一:
执行一行或多行特定代码
elif 条件二:
执行一行或多行特定代码
elif 条件三:
执行一行或多行特定代码
elif 条件四:
执行一行或多行特定代码
else:
执行一行或多行特定代码
如果 if 条件成立, 则执行 if 下面的代码 如果 elif 条件成立, 则执行 elif 下面的代码 如果 if elif 都不满足条件, 则执行
else 下面的代码
案例代码:
if day == '1':
print('今天是星期一')
elif day == '2':
print('今天是星期二')
elif day == '3':
print('今天是星期三')
elif day == '4':
print('今天是星期四')
elif day == '5':
print('今天是星期五')
elif day == '6':
print('今天是星期六')
elif day == '7':
print('今天是星期日')
else:
print('无法确定星期几')
2.3.2.2 if 条件成立
分支语句的条件如何表示呢?
成立则表示结果为真(True), 不成立则表示结果为假(False).
分支条件判断的场景一般为: a大于b、a小于b、a等于b、a大于等于b、a小于等于b、a不等于b等等.
28软件测试
广州博才科技开发有限公司
迅捷PDF编辑器
运算符 描述
== 检查两个操作数的值是否 相等,如果是,则条件成立,返回 True
!= 检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True
> 检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True
< 检查左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回 True
>= 检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True
<= 检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 True
登录案例的代码可修改为:
# 请输入您的用户名
username = input('请输入您的用户名:')
# 请输入您的密码
password = input('请输入您的密码:')
# 判断密码是否正确
if username == 'admin':
# 再判断密码是否合法
if password == 'admin':
# 打印欢迎信息
print('欢迎 %s 登录系统!' % username)
else:
print('用户名或者密码不正确!')
else:
print('用户名或者密码不正确')
注意: 编写if语句代码时, 注意缩进
2. 多个条件之间的关系
上面代码在 if 语句中又嵌套了一个 if 语句, 能否有更简单的写法呢?
我们可以将多个条件并列写在 if 后面, 此时需要表示多个条件之间的关系, 需要逻辑运算符.
运算符 逻辑表达式 描述
and x and y
只有 x 和 y 的值都为 True,才会返回 True
否则只要 x 或者 y 有一个值为 False,就返回 False
or x or y
只要 x 或者 y 有一个值为 True,就返回 True
只有 x 和 y 的值都为 False,才会返回 False
not not x
如果 x 为 True,返回 False
如果 x 为 False,返回 True
a = 10
b = 20
c = 30
d = 40
# and 两个条件都为真, 则结果为真
result = a > b and c < d
print('result:', result)
# or 有一个条件为真, 则结果为真
result = a > b or c < d
print('result:', result)
29软件测试
广州博才科技开发有限公司
迅捷PDF编辑器
# not 如果条件为真, 则结果就为假
result = not (a > b)
print('result:', result)
我们继续修改上面代码为:
# 请输入您的用户名
username = input('请输入您的用户名:')
# 请输入您的密码
password = input('请输入您的密码:')
# 判断密码是否正确
if username == 'admin' and password == 'admin':
# 打印欢迎信息
print('欢迎 %s 登录系统!' % username)
else:
print('用户名或者密码不正确')
2.3.3 练习-猜拳游戏
import random
user_quan = int(input('请出拳 石头(0)、剪刀(1)、布(2):'))
computer_quan = random.randint(0, 2)
if (user_quan == 0 and computer_quan == 1) or \
(user_quan == 1 and computer_quan == 2) or \
(user_quan == 2 and computer_quan == 0):
print('您赢了!')
elif user_quan == computer_quan:
print('平局!')
else:
print('您输了!')
2.3.4 小结
1. if 语句的作用可以实现选择执行某些特定代码.
2. if 语句的条件结果为真, 则会执行对应分支下的代码.
3. if 条件的运算符包含比较关系运算符、逻辑关系运算符.
i. 比较关系运算符用于构建单个条件.
ii. 逻辑关系运算符可用于表示多个条件之间的关系. 5.1 and: 多个条件都为真, 则整个条件结果为真. 5.2 or:
多个条件中有一个条件为真, 则整个条件结果为真. 5.3 not: 对条件取反, 如果条件为真, 则结果为假, 反之
则反.
4. BUG 在程序中不可避免, 要学会解决错误. 多积累.
30

posted on 2019-09-07 14:01  无泪人  阅读(168)  评论(0编辑  收藏  举报

导航