一、分支结构
- 分支结构又称选择结构,其关键字主要由 if、elif、else组成。
- 分支结构细化为四种: 单分支结构、双分支结构、多分支结构、嵌套分支结构。
- 其中有一种是比较特殊的: 单分支结构可以简化写成 三目运算符 的方式。
1.1 单分支结构
- 单分支结构由 if 关键字组成。
语法: if 条件语句:
代码块或表达式
用法:
# a、常量
print("start~~~~")
if 35:
print("True")
print("end~~~~")
# b、变量
num = "abc"
if num:
print("True")
'''
总结:
1. 单分支的特点:要么执行,要么不执行。
2. 只适用于一种情况的判断。
'''
1. 2 双分支结构
- 双分支结构由if、else关键字组成。
语法: if 条件语句:
代码块或表达式
else 条件语句:
代码块或表达式
用法:
# 网吧上网问题:小于18岁的未成年不得上网,满足条件可以充值。
age = 16
if age < 18:
print("未成年不得进入网吧上网")
else:
print("欢迎光临,请充值")
"""
总结:
1. 双分支的特点:可以实现二选一的操作,只执行两种方式中的一种。
2. 能实现两种情况的判断。
"""
1.3 多分支结构
- 多分支结构由if、else if、else关键字组成,不过在python中,else if 简化成了elif。
语法: if 条件语句:
代码块或表达式
elif 条件语句:
代码块或表达式
elif 条件语句:
代码块或表达式
.....
else 条件语句:
代码块或表达式
其中else 关键字后边条件语句可跟可不跟,但代码块必须得有。
用法:
# 输入表示星期的数字,判断当日是星期几。
day = input("请输入表示星期的数字:")
if day == '1':
print('Mon')
elif day == '2':
print("Tues")
elif day == '3':
print("Wed")
elif day == '4':
print("Thur")
elif day == '5':
print("Fri")
elif day == '6':
print("Sat")
elif day == '7':
print("Sun")
else:
print("输入有误,请重新输入")
'''
总结:
1. 多分支结构的特点:可以实现多选一的操作,只执行其中一条选择代码语句。
2. 可以适用于3种及3种以上的条件判断。
'''
1.4 random模块随机数的使用
导入随机数模块 random,通常导入模块方法有:
- import random
- from random import 方法:
# 方法:
# a、random.randint(0,100):导入0~100之中的随机数,闭区间[0,100]
'''
模拟彩票中奖:
1. 让程序产生一个随机数[0~100]
2. 让用户输入一个0~100之间的数
3. 比较:相等即为中奖。
'''
import random
random_num = random.randint(0,100)
print(f"产生的随机数是:{
random_num}")
input_num = int(input("请输入一个0~100之间的数:"))
if input_num == random_num:
print("恭喜你,中大奖了")
else:
print("谢谢参与")
# b、random.choice(容器):可以控制步长,得到奇数或者偶数。
import random
random_num = random.choice(range(101))
print(f"产生的随机数是:{
random_num}")
input_num = int(input("请输入一个0~100之间的数:"))
if input_num == random_num:
print("恭喜你,中大奖了")
else:
print("谢谢参与")
'''
总结:注意这两者的区别
1. random.randint(start,end): 取得是闭区间的值,步长不可改变。[start,end]
2. random.choice(容器):后边接的是容器,可以是range容器、或者是字符串、列表、元组等可迭代对象,步长可变。
'''
1.5 嵌套分支结构
- 嵌套分支结构就是,在一种分支结构内部另外嵌套分支结构,适用于只有在一种情况满足后的情况下,才能对剩下的条件作出判断。
- 嵌套分支可以单分支、双分支、多分支里的任意两种或者多种的组合。
- 嵌套分支通常是用来解决互相关联的选择性问题。
- 为了代码的可读性,嵌套层数一般最好不要超过4层。
- 嵌套分支里边,注意缩进问题。indent
1.6 嵌套分支的应用
# 1.判断一个年份是否是闰年
year = input("请输入一个年份:")
# 字符串.isdigit():判断字符串非空且全部由数字组成,结果为True。
if year.isdigit():
year = int(year)
if (year % 4 == 0 and year % 100 != 0