一、判断的定义:
- 如果 条件满足,才能做某件事情,
- 如果 条件不满足,就做另外一件事情,或者什么也不做
二、if 语句语法结构
- 标准if条件语句的语法 缩进:python代码的层级关系
-
缩进一般加4个空格
if 语句语法结构 - 如果表达式的值 非0 或者为布尔值 True,则代码组 if_suite 被执行;否则就去执行 else_suite
- 代码组是一个 python术语,它由一条或多条语句组成,表示一个子代码块
空类型判断
- 验证各类型空的判断
input='判断" "的结果:';
if " ": # True
print(input,"True")
else:
print(input,"False")
input="判断[]的结果:";
if []: # False
print(input,"True")
else:
print(input,"False")
input="判断[False]的结果:";
if [False]: # True
print(input,"True")
else:
print(input,"False")
input="判断None的结果:";
if None: # False
print(input,"True")
else:
print(input,"False")
- 输出结果
[root@Python day02]# python3 demo01_if.py
判断零的结果: False
判断非零的结果: True
判断""的结果: False
判断" "的结果: True
判断[]的结果: False
判断[False]的结果: True
判断None的结果: False
练习 1:判断合法用户
需求
- 提示用户输入用户名和密码
- 获得到相关信息后,将其保存在变量中
- 如果用户输的用户名为 bob,密码为 123456,则输出 Login successful,否则输出 Login incorrect
# login2.py是文件名,可以修改
[root@localhost day02]# vim login2.py
# 定义两个变量 username 和 password,分别从键盘获取用户名和密码
username = input('请输入用户名:')
password = input('请输入密码:')
# 在python中等于号用 == 表示;input()函数获取的值都是字符类型,密码要用引号引起来
if username == 'bob' and password == '123456':
print('Login successful')
else:
print('Login inorrect')
print(" Login end ")
三、if 扩展语句:
-
语法结构:
多分支if
四、简写方式:
示例:
- “成功的返回值” if “判断语句” else “失败的返回值”
print("成功" if 10 % 2 == 0 else "失败")
练习 2:编写判断成绩的程序
需求
- 如果成绩大于60分,输出“及格”
- 如果成绩大于70分,输出“良”
- 如果成绩大于80分,输出“好”
- 如果成绩大于90分,输出“优秀”
- 否则输出“你要努力了”
编写判断成绩的程序
[root@localhost day02]# vim demo02_if.py # demo02_if.py是文件名,可以修改
score = int(input('分数:'))
#程序的执行,是从上往下执行的;
#先判断大的数值,不满足再继续往下判断,可以简化程序代码
if score >= 90:
print('优秀')
elif score >= 80:
print('好')
elif score >= 70:
print('良')
elif score >= 60:
print('及格')
else:
print('你要努力了!!!')
练习 3:编写石头剪刀布小游戏
需求:
- 计算机随机出拳
- 玩家自己决定如何出拳
- 代码尽量简化
方法一:编写剪刀石头布小游戏**
[root@localhost day02]# vim test01_if.py # test01_if.py是文件名,可以修改
# 导入随机数的模块 random
import random
# 定义列表all_choices,存储出拳的每个选择
all_choices = ['石头','剪刀','布']
# random模块的choice方法,可以从变量中随机选出一个元素,随机出来的元素为电脑的出拳
computer = random.choice(all_choices)
# 使用input()函数,获取用户的出拳选择
player = input('请出拳(石头/剪刀/布):')
# 使用函数print()打印出电脑和玩家的出拳选择
print("Your choice:" + player + ", Computer's choice: " + computer)
# 当玩家出拳为【石头】时,电脑的每一种出拳选择都要和【石头】进行比较,打印结果
if player == '石头':
if computer == '石头':
print('平局')
elif computer == '剪刀':
print('You WIN!!!')
else:
print('You LOSE!!!')
# 当玩家出拳为【剪刀】时,电脑的每一种出拳选择都要和【剪刀】进行比较,打印结果
elif player == '剪刀':
if computer == '石头':
print('You LOSE!!!')
elif computer == '剪刀':
print('平局')
else:
print('You WIN!!!')
# 当玩家出拳为【布】时,电脑的每一种出拳选择都要和【布】进行比较,打印结果
else:
if computer == '石头':
print('You WIN!!!')
elif computer == '剪刀':
print('You LOSE!!!')
else:
print('平局')
方法二:(win_list)
# test02_if.py是文件名,可以修改
[root@localhost day02]# vim test02_if.py
# 导入随机数的模块 random
import random
# 定义列表all_choices,存储出拳的每个选择
all_choices = ['石头','剪刀','布']
# 定义列表win_list, 将玩家赢电脑的选择,提前保存起来
# 每个子列表中,玩家为第一个元素,电脑为第二个元素
win_list = [ ['石头','剪刀'], ['剪刀','布'], ['布','石头'] ]
# random模块的choice方法,可以从变量中随机选出一个元素
# 随机出来的元素为电脑的出拳
computer = random.choice(all_choices)
# 使用input()函数,获取用户的出拳选择
player = input('请出拳(石头/剪刀/布):')
# 使用函数print()打印出电脑和玩家的出拳选择
print("Your choice:" + player + ", Computer's choice: " + computer)
# 如果玩家和电脑的出拳相同,则平局
if player == computer:
print('平局')
# 如果[玩家,电脑]的列表,在win_list中,则可判断玩家赢,因为在win_list中定义了玩家赢得各种可能性
elif [player,computer] in win_list:
print('You WIN!!!')
# 玩家不是赢,那么就是输了,玩家所有赢得可能性已经在win_list定义了
else:
print('You LOSE!!!')
网友评论