分支结构和循环

分支结构

if多分支结构

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

  1. 方法1:直接多个单分支结构

    多个条件之间不存在’其中一个条件成立,另外的条件就不成立’的情况

    if 条件1:
    代码段1
    if 条件2:
    代码段2
    if 条件3:
    代码段3

  2. 方法2:使用elif对应的对分支结果

    多个条件之间存在’其中一个条件成立,另外的条件就不成立’的情况

    if 条件1:
    代码段1
    elif 条件2:
    代码段2
    elif 条件3:
    代码段3

    else:
    代码段N

注意:方法2后面的条件是在前面的条件不成立的基础上进行判断的。如果前面的某个条件成立,后面的条件不会再判断

案例1:根据百分制分数,给学生打等级:A(大于等于90分)、B([80,90))、C([60,80))、D(小于60)

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

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

案例2:如果num是偶数打印偶数,如果num能被3整除打印3的倍数,如果num能被5整除打印5的倍数

num = 9
if num % 2 == 0:
    print('偶数')
if num % 3 == 0:
    print('3的倍数')
if num % 5 == 0:
    print('5的倍数')
if嵌套

if分支结构的内部又有分支结构

案例:如果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)

python实现循环结构的工具:for循环、while循环

for循环

语法

for 变量 in 序列:
循环体

说明

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

执行过程:让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
(想要控制for循环的循环次数,只需要控制序列中元素的个数)

for x in 'abc':
    print('x:', x)
    print('hello world!')
    print(100)

for x in 'abc':
    print('hello world!')
range函数

创建等差数列

  1. range(N) - 产生[0,N)的等差数列,差是1

                 ```python
                 for x in range(10):
                     print(x)
                 ```
    
  2. range(M, N) - 产生[M,N)的等差数列,差是1

                 ```python
                 for x in range(10, 16):
                     print(x)
                 ```
    
  3. range(M, N, step) - 产生[M,N)的等差数列,差是step

                     ```python
                     for x in range(9, 0, -2):
                         print(x)
                     ```
                 
                 
                 ​    
    

for的应用

累积求和

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

  1. 案例1:计算1+2+3+…+100的和

    sum1 = 0
    for x in range(1,101):
        sum1 += x
    print(sum1)
    
  2. 案例2:计算列表中数据总和

    scores = [28, 34, 78, 90, 89, 96, 76, 99]
    sum1 = 0
    for x in scores:
        sum1 += x
    print(sum1)
    
  3. 练习1:求2+3+4+…+50的和

    sum1 = 0
    for i in range(2,51):
        sum1 += i
    print(sum1)
    
  4. 练习2:求3+6+9+12+…+99的和

    sum2 = 0
    for i in range(3,100,3):
        sum2 += i
    print(sum2)
    
  5. 练习3:求100以内所有偶数的和

    sum3 = 0
    for i in range(2,101,2):
        sum3 += i
    print(sum3)
    
  6. 练习4:求100以内所有能被3整除但是不能被5整除的数的和

    # 方法1:
    sum4 = 0
    for i in range(1,101):
        if i % 3 == 0 and i % 5 != 0:
            sum4 += i
    print(sum4)
    
    # 方法2:
    sum4 = 0
    for i in range(3,100,3):
        if i % 5 != 0:
            sum4 += i
    print(sum4)
    
  7. 练习5:已知列表list1,求列表中所有数字的和

    list1 = [10, 1.23, 'abc', True, 20, 'mn', None]
    sum5 = 0
    for i in list1:
        if type(i) == int or type(i) == float:
            sum5 += i
    print(sum5)
    
统计个数

定义变量保存最后的个数(变量默认值是0)

通过循环获取每一个统计对象,获取到一个统计对象,个数就在原来的基础上加1

  1. 案例1:统计100以内偶数的个数

    count = 0
    for x in range(0, 100, 2):
        count += 1
    print(count)
    
  2. 案例2:统计nums中偶数的个数

    nums = [21, 23, 44, 89, 70, 66, 55]
    count = 0
    for x in nums:
        if x % 2 == 0:
            count += 1
    print(count)
    
  3. 练习1:统计scores中不及格学生的人数

    scores = [99, 80, 67, 55, 40, 81, 72, 51]
    count = 0
    for i in scores:
        if i < 60:
            count += 1
    print(count)
    
  4. 练习2:统计nums中个位数大于5的个数

    nums = [21,23,44,89,70,66,55]
    count = 0
    for i in nums:
        if i % 10 >= 5:
            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
for循环和while循环的选择

如果循环次数确定使用for循环;如果循环次数不确定,使用while循环。

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

案例:提示用户输入密码,直到输入正确为止

pw = '156234'
value = None
while value != pw:
    value = input('请输入密码(6位):')

while True:
需要重执行代码
if 循环结束条件:
​ break

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值