美文网首页
day04循环语句

day04循环语句

作者: 我去买个橘子o | 来源:发表于2019-03-07 20:23 被阅读0次

    1. for循环

    1.1 语法:

    for 变量名 in 序列:
    循环体

    1.2 说明:

    • for : 关键字,固定写法
    • 变量名: 和声明变量的时候的变量名要求一样
    • in : 关键字,固定写法
    • 序列: python中的序列有:字符串、列表、元组、字典、集合、range、生成器、迭代器
    • 冒号: 固定写法
    • 循环体: 和for保持一个缩进的一跳或者多条语句

    1.3 执行过程:当程序执行到for循环的时候:让变量去序列中取值,一个一个的取,取完为止,每取一个值,执行一次循环体。

    for a in 'abcdefa':
        print(a, id(a))
        print('=====')
    

    1.4 range()函数

    range(N) N是正整数, 产生0~N-1的所有整数

    for num in range(10):
        print(num)
    

    range(M,N) M,N都是整数,并且M<N,产生M~N-1的所有整数

    for num in range(1, 100):
        print(num)
    

    注意:xrange()是python2.x中的函数,在python3.x中无效。
    range(M,N,S) M,N,S都是整数,产生M~N-1中间隔S长度的每个数

    for num in range(1, 100, 2):
        print(num)
    

    练习:计算1+2+3+...+100的和

    sum = 0
    for i in range(1,101):
        sum += i
    print(sum)
    

    练习:计算2468...*20的结果

    sum = 1
    for i in range(2, 21, 2):
        sum *= i
    print(sum)
    

    练习:打印0-100中所有能够被3或者5整除的数

    for i in range(0, 101):
        if i%3==0 or i%5==0:
            print(i)
    

    2. while循环

    2.1 语法:

    while 条件语句:
    循环体

    2.2 说明:

    • while: 关键字,固定写法
    • 条件语句: 可以是数据、变量、运算表达式等,不能是赋值运算
    • 冒号: 固定写法
    • 循环体: 和while保持一个缩进的一条或者多条语句(会被重复执行)
    • 执行过程: 先判断条件语句是否为True,为True就执行一次循环体,执行完循环体再判断条件语句是否为True,为True又执行一次循环体,再判断条件语句是否为True,为True又执行一次循环体,再判断条件语句是否为True,为True又执行一次循环体,以此类推,直到判断条件语句的结果为False,整个循环直接结束。

    2.3 两个极端:

    • 当条件语句永远为True,会造成死循环的现象
    • 一开始条件语句的结果就是False,那么循环一次都不会执行

    练习1:用while循环控制程序打印10行"======"

    count = 0
    while count < 10:
        print('======')
        count += 1
    

    练习2:使用while循环打印0-10

    i = 0
    while i<11:
        print(i)
        i += 1
    

    练习3:使用while循环打印11-20

    i = 11
    while i<21:
        print(i)
        i += 1
    

    练习4:使用while循环打印2,4,6,8,10,...,40

    i = 2
    while i < 41:
        print(i)
        i += 2 
    

    练习5:不断输入,直到输入的值是100为止

    num = 0
    while result != 100:
        result = int(input("请输入数字: "))
    print('结束')
    

    补充:随机数
    导入random模块,random是python内置的一个专门用来产生和处理随机数的模块
    radnint(M,N) 产生M~N的随机数,要求M,N都是整数,并且N>M

    import random
    random_num = random.radnint(0, 10)
    print("随机数: ", random_num)
    

    练习:猜数字游戏,产生一个0-100的随机数,然后不断输入数字,直到输入的数字和产生的随机数一致为止

    import random
    print("=========猜数字游戏=========")
    print("===猜0-100之间的一个随机数===")
    random_num = random.randint(0, 100)
    num = int(input("请猜一个数字: "))
    i = 1
    while num != random_num:
        if num<random_num:
            print("偏小")
        else:
            print("偏大")
        i += 1
        num = int(input("请重新猜猜: "))
    print("恭喜猜中了数字", random_num,",一共猜了", i, "次")
    if i > 10:
        print("亲,您的智商需要充值了哦")
    elif i < 5:
        print("聪明")
        if i == 1:
            print("居然一次就猜对了")
    

    2.4 for循环和while循环的选择:

    • 遍历(一个一个的取)序列元素用for循环
    • 循环次数确定的时候用for循环
    • 死循环和循环次数不确定的时候用while循环

    3. continue、break和else

    3.1 continue

    用法:continue是关键字,只能出现在循环体中
    功能:执行循环体的时候,如果遇到continue,就直接结束当次循环,直接进入下次循环的判断

    for x in range(10):
        if x%3 == 0:
            continue
        print(x)
        print("=======")
    

    3.2 break

    用法:break 是关键字,只能出现在循环体
    功能:执行循环体,如果遇到break,整个循环体直接结束

    for x in range(10):
        print(x)
        break
        print("===")
    print("结束")
    

    练习:从0+1+2+......,求看到和超过1000000的时候,求出这个数

    n = 0
    m = 1
    while True:
        n += m
        m += 1
        if n > 1000000:
            print(m, n)
            break
    

    3.3 else

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

    while 条件语句:
    循环体
    else:
    语句块

    执行过程:如果循环自然死亡,else对应的语句块会执行;如果循环因为遇到break而结束,else对应的语句块不执行

    for x in range(5):
        print(x)
        break
    else:
        print("循环结束")
    

    4. 循环嵌套

    循环嵌套:在循环体中又有循环结构
    执行过程:外循环执行一次,内循环执行完

    for x in range(5):
        for y in range(4):
            print(x)
            print(y)
            #if(x==1):
                #break    内层循环结束,外层循环不结束
        #if(x==1):
            #break          内层、外层循环都结束
    

    相关文章

      网友评论

          本文标题:day04循环语句

          本文链接:https://www.haomeiwen.com/subject/mmihpqtx.html