分支结构
if多分支结构
第一种(只用if来判断条件):
"""
if 条件1:
代码段1
if 条件2:
代码段2
if 条件3:
代码段3
...
第二种(用if、elif、else搭配实现判断条件):
这里if和elif的关系是:if条件不满足后再来判断elif的条件。
"""
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3
...
else:
代码段N
"""
案例:根据百分制分数,给学生打等级:A(大于等于90分)、B([80,90))、C([60,80))、D(小于60)。
方法一:
score = 95
if score >= 90:
print('A')
if 80 <= score < 90:
print('B')
if 60 <= score < 80:
print('C')
if score < 60:
print('D')
方法二:
score = 95
if score >= 90:
print('A')
elif 80 <= score:
print('B')
elif 60 <= score:
print('C')
else:
print('D')
嵌套分支结构
'''
if 条件1:
代码段
if 条件2:
...
else:
代码段
'''
案例:如果num是偶数就打印偶数,是奇数打印奇数,如果num能被4整除,打印’4的倍数’
num = 6
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
print('====')
else:
print('奇数')
for循环
for _ in range(10):
print(100)
for循环语法:
'''
for 变量 in 容器:
代码块(需要循环的操作)
for循环执行次数根据容器中元素个数确定,
for循环每次执行,变量都会从容器中按照顺序获取元素
容器必须是容器型数据类型,例如:字符串、列表、字典、元组、集合、range等
'''
range函数
range函数的区间是左闭右开的(a,b)a可以取到b取不到。
"""
range(N) - 产生[0,N)的等差数列,差是1
range(M, N) - 产生[M,N)的等差数列,差是1
range(M, N, step) - 产生[M,N)的等差数列,差是step
"""
for x in range(10):
print(x)
for x in range(10, 16):
print(x)
for x in range(9, 0, -2):
print(x)
for循环的应用
案例一:计算1+2+3+……+100的和:
sum1 = 0 # 1+2=3+3=6+4=10
for x in range(1, 101):
sum1 += x # sum1 = sum1 + x
print(sum1)
案例二:求3+6+9+12+…+99的和:
sum1 = 0
for x in range(3, 100, 3):
sum1 += x
print(sum1)
案例三:求100以内所有偶数的和:
sum1 = 0
for x in range(0, 100, 2):
sum1 += x
print(sum1)
案例四:求100以内所有能被3整除但是不能被5整除的数的和
sum1 = 0
for x in range(100):
if x % 3 == 0 and x % 5 != 0:
sum1 += x
print(sum1)
案例五:统计nums中偶数的个数
nums = [21, 23, 44, 89, 70, 66, 55]
count = 0
for x in nums:
if x % 2 == 0:
count += 1
print(count)
while循环
while循环语法:
"""
while 条件语句:
循环体(需要重复执行的代码)
其他代码
执行过程:不断判断条件语句是否为True,如果是就执行循环体,如果不是循环直接结束。
(控制次数的方式:保证条件一开始是True,经历过指定次数以后条件会由True变成False)
死循环 - 条件语句一直都是True
"""
案例一:打印0、1、2、3、4、5、…、100
num = 0
while num <= 100:
print(num)
num += 1
while循环适用于循环次数未知且不确定的时候
for循环用的比较多,用于循环次数已知的时候