if 嵌套,是指一个 if (elif else)中嵌套另一个if。
使用场景:判断条件存在递进关系(只有第一个条件满足了,才会判断第二个条件)
语法:
if 判断条件1:
判断条件1成立,执行的代码
if 判断条件2:
判断条件2成立,执行的代码
else:
判断条件2不成立,执行的代码
else:
判断条件1不成立,执行的代码
代码案例:
取款机取钱的过程中,假设你的密码是:123456,账户余额为1000
1.提示用户输入密码
2.判断密码是否正确
3.密码正确后,提示输入取款金额
4.判断取款金额和余额的关系
# 取款机取钱的过程, 假定 你的密码是: 123456, 账户余额为 1000
pwd = '123456' # 可以预先定义变量,也可以在判断的时候直接使用
money = 1000 # 可以预先定义变量,也可以在判断的时候直接使用
# 1.提示用户输入密码
password = input('请输入你密码:')
# 2.判断密码是否正确
if password == pwd:
print('密码正确,登录成功')
# 3.密码正确后,提示输入取款金额
get_money = int(input('请输入取款金额:'))
# 4.判断取款的金额和余额 的关系
if money >= get_money:
print('取款成功')
else:
print('余额不足')
else:
print('密码错误,请再次尝试')
- 练习
假定某网站用户名固定为 'admin', 密码固定为'123456', 验证码 固定为 '8888'
1. 获取用户输入的用户名,密码和验证码
2. 先判断验证码是否正确,如果正确打印输出验证码正确,再判断用户名和密码是否正确
3. 如果验证吗不正确,直接输出 验证码不正确,请重新输入
# 假定某网站用户名固定为 'admin',密码固定为'123456',验证码固定为'8888'
# 1.获取用户输入的用户名,密码和验证码
username = input('请输入用户名:')
pwd = input('请输入密码')
code = input('请输入验证码')
# 先判断验证码是否正确,如果正确打印输出验证码正确,在判断用户名和密码是否正确
if code == '8888':
print('验证码正确')
if username == 'admin' and pwd == '123456':
print('用户名密码正确,登录成功')
else:
print('用户名密码错误,请稍后再试')
# 3.如果验证码不正确,直接输出验证码不正确,请重新输入
else:
print('验证码不正确')
案例:猜拳游戏
案例中需要电脑随机出拳,即随机出 1 2 3
在 Python 中想要随机获得整数数字可以使用如下方法
# 1. 导入随机数工具包
import random
# 2. 使用工具包中的工具产生指定范围内的数字
random.randint(a, b) # 产生[a, b] 之间的随机整数,包含 a b 的
import random # 这行代码习惯性的放在第一行
num = random.randint(1, 3)
print(num)
代码:
import random
# 1.自己出拳(石头(1)/剪刀(2)/布(3)) input (player)
player = int(input('请出拳石头(1)/剪刀(2)/布(3):')) # 不要忘了类型转换
# 2. 电脑随机出拳 (使用随机数模块(工具)完成) (computer)
computer = random.randint(1,3)
# 3. 判断输赢
# 3.1 玩家胜利
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
print('恭喜你获得胜利')
# 3.2平局 player == computer
elif player == computer:
print('平局')
# 3.3 玩家输了 else
else:
print('玩家输了')
附加知识:
ctrl + l 清屏,相当于执行 clear 命令。
clear 清屏
THE END