学习总结day4

python分支结构和循环总结

一:if多分支结构

1.如果xxx就xxx,如果xxx就xxx,如果xxx就xxx…(根据不同的条件做不同的事情)

例:根据百分制分数,给学生打等级:A(>=90)、B([80,90))、C([60,80))、D(<60)

方法1:直接多个单分支结构(效率不够高)
多个条件之间不存在‘其中一个条件成立,另外的条件就不成立’的情况
if 条件1:
代码段1
if 条件2:
代码段2
if 条件3:
代码段3

方法2:使用elif对应的分支结果
多个条件之间存在‘其中一个条件成立,另外的条件就不成立’的情况
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3

else:
代码段N

# 方法1
score = 80
if score >= 90:
    print('A')
if 80 <= score < 90:
    print('B')
if 60 <= score < 80:
    print('C')
if score < 60:
    print('D')
# 方法2
score = 60
if score >= 90:
    print('A')
elif 80 <= score:
    print('B')
elif 60 <= score:
    print('C')
else:
    print('D')

2.if嵌套(if分支结构的内部又有分支结构)

例:如果num是偶数就打印偶数,是奇数就打印奇数,如果能被4整除,打印4的倍数

num = int(input('输入整数'))
if num % 2 == 0:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')
else:
    print('奇数')

二:循环语句

1.循环结构

for _ in range(3):
    print(1)

2.for循环

语法:
for 变量 in 序列:
循环体

说明:
1.for - 关键字,固定写法
2.变量 - 变量名(可以是已经定义过变量的变量名,也可以是没有定义过变量的变量名)
3.in - 关键字,固定写法
4.序列 - 必须是容器型数据类型的数据(例如:字符串、列表、字典、元组、集合、range、迭代器、生成器)
5.: - 固定写法
6.循环体 - 结构上,就是和for保持一个缩进的一条或者多条语句
逻辑上,就是需要重复执行的代码

执行原理:让变量去序列里面取值,取一次,执行一次循环体,取完为止
控制次数,控制序列元素个数即可

3.range函数 - 创建等差数列

1)range(N) ---- 产生 [0,N) 的等差数列,公差是1
for x in range(6, 10):
print(x)

2)range(M, N) - 产生 [M,N) 的等差数列,公差是1
3)range(M, N, step) - 产生 [M,N) 的等差数列,公差是step
for x in range(6, 10, 2):
print(x)

三:for循环的运用

1.累计求和

求和套路:

1.准备数据
2.定义变量保存最后的和(变量的默认值是0)
3.通过循环一次获取求和对象,得到一个求和对象就往保存和的变量中加一个

例:计算 1+2+3+4+…100

sum1 = 0
for x in range(101):
    sum1 += x
print(sum1)
# 练习1:求2+3+4+...50
sum1 = 0
for x in range(2, 51):
    sum1 += x
print(sum1)
# 练习2:求3+6+9+..99
sum1 = 0
for x in range(3, 100, 3):
    sum1 += x
print(sum1)
# 练习3:求100以内所有偶数的和
sum1 = 0
for x in range(0, 101, 2):
    sum1 += x
print(sum1)
# 练习4:求100以内所有能被3整除但是不能被5整除的数的和
sum1 = 0
for x in range(101):
    if x % 3 == 0 and x % 5 != 0:
        sum1 += x
print(sum1)
# 练习5:已知一个列表list1,求列表中所有数字的和
# 求10+1.23+20
list1 = [10, 1.23, 'abc', True, 20, 'mn', None]
sum1 = 0
for x in list1:
    if type(x) == int or type(x) == float:
        sum1 += x
print(sum1)
2.统计个数

1)定义变量保存最后的个数(变量默认为0)
2)通过循环获取每一个统计对象,获取到一个统计对象,个数就在原来的基础上加1

# 例:统计100以内偶数的个数
count = 0
for x in range(0, 100, 2):
    count += 1
print(count)
# 练习:统计scores中不及格学生的人数
scores = [99, 80, 67, 55, 40, 81, 72, 51]
count = 0
for x in scores:
    if x <= 60:
        count += 1
print(count)
# 练习:统计nums中个位数大于5的数的个数
nums = [21, 23, 44, 89, 70, 66, 55]
count = 0
for x in scores:
    if x % 10 > 5:
        count += 1
print(count)

四:while循环

语法:
while 条件语句:
循环体

执行过程:不断判断条件语句是否为True,如果是就执行循环体,如果不是循环直接结束
控制次数的方式:保证条件一开始是True,经历过指定次数以后条件会变为False
死循环:条件语句一直为True

例:打印0-100

x = 0
while x < 100:
    x= x + 1
    print(x)

如果循环次数确定,使用for,反之使用while

循环次数不确定 - 程序员在写代码的时候无法确定这个循环会重复多少次
次数由使用程序的用户决定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值