美文网首页
2018-07-19 python循环语句

2018-07-19 python循环语句

作者: 随雪而世 | 来源:发表于2018-07-19 21:01 被阅读0次

    循环的概念需要重复执行某个过程,就可以使用循环。

    python中的循环有for循环和while循环

    1.for循环

    #格式
    for 变量名 in 序列:
        循环体
    
    for: 关键字
    

    变量名: 和声明变量时的变量名要求是一样的,功能是存储值
    in: 关键字,在。。。里的意思
    序列: 容器类型的数据。字符串、列表、字典、元祖、集合等
    循环体: 会重复执行的代码块

    执行过程:使用变量去序列中取数据,一个一个的取,取完为止。每取一个值,执行依次循环体

    for char in 'ab12':
        print(char)
        print('!')
    

    结果:
    a
    !
    b
    !
    1
    !
    2
    !

    2.range函数

    xrange是python2.x中的函数,在python3.x使用range函数代替了

    range功能是产生指定范围的数字序列。一般用在for循环中,控制循环次数。或者产生索引值

    range(n): 产生 0 ~ n-1的整数序列
    range(m,n): 产生 m ~ n-1的整数序列
    range(m,n,step):从m开始,每次加step产生下一个数字,直到n前面那一个为止

    例如:range(10):产生数字0,1,2,3,4,5,6,7,8,9
    for x in range(10):
        print(x)
    
    print('=======')
    
    # range(10,20):产生数字:10~19
    for x in range(10,20):
        print(x)
    

    range(0,10,2):产生数字:0,2,4,6,8

    for x in range(0,10,2):
        print(x)
    

    例子:计算1+2+3+...+100

    sum1 = 0   # 声明一个变量来存和
    for x in range(1,101):
        sum1 += x
    
    print(sum1)
    
    

    例子:只使用一个循环

    1.计算1x2x3x..x10
    2.计算2x4x6x...x10

    mul1 = 1  # 声明一个变量来存乘积
    mul2 = 1
    
    # 遍历取出1-10中所有的数字
    for x in range(1,11):
        mul1 *= x  # mul1 = mul1*x
    
        # 判断x是否是偶数
        if x % 2 == 0:
            mul2 *= x
    print(mul1)
    print(mul2)
    

    例子2:有一个字符串‘abcdef’,依次取出字符串中偶数位(下标值是偶数)上的字符

    str1 = 'abcdef'
    
    # 方法一:
    # 循环取出字符串所有的偶数下标
    # index = 0,2,4
    for index in range(0,len(str1),2):
        print(str1[index])
    
    
    # 方法二:
    # 循环取出字符串中每个字符的下标
    for index in range(0,len(str1)):
        # 判断下标是否是偶数
        if index % 2 == 0:
            print(str1[index])
        
    
    # 方法三:
    index = 0
    for char in str1:
        if index % 2 ==0:
            print(char)
        index += 1
    

    2.while循环

    #格式:
    while 条件语句:
        循环体
    
    其他语句
    

    while: 关键字
    条件语句:结果是True,或者False
    循环体: 重复执行的代码段

    执行过程:判断条件语句是否为True,如果为True就执行循环体。
    执行完循环体,再判断条件语句是否为True,如果为True就再执行循环体....
    直到条件语句的值为False,循环结束,直接执行while循环后面的语句

    注意:如果条件语句的结果一直都是True,就会造成死循环。所以在循环体要有让循环可以结束的操作

    ps:python中没有do-while循环

    例子:使用while循环计算1+2+3+...+100

    number = 1  # 保存数字1-100
    sum1 = 0  # 保存和
    while number <= 100:
        print(number)
        sum1 += number
    
        # 每次循环让number值加1
        number += 1
    
    print(sum1)
    

    例子:计算2+4+6+...100

    number = 2
    sum2 = 0
    while number <= 100:
        sum2 += number
        number += 2
    
    print(sum2,number)
    

    3.break和continue

    break和continue两个关键字,都是作用域循环当中,用来结束循环的。

    continue: 关键字,在循环体中遇到continue,就结束当次循环,直接进入下次循环的判断
    (如果是for循环,就让变量去取下一个值。如果是while循环就去判断while后边的条件语句是否为True)

    #例子
    for x in range(5):
        print(x)
        continue   # 不执行continue后面的语句,直接让x取下一个值
        print('====')
    

    结果:
    0
    1
    2
    3
    4

    #例子:
    for x in range(10):
        print(x)
        break
        print('======')
    print('!!!!')
    

    结果:
    0
    !!!!

    应用:

    通过改变条件语句的值,来结束循环

    numer = 1
    while numer <= 100:
        print(numer)
        numer += 1
    
    使用break结束死循环
    numer = 1
    while True:
        if numer > 100:
            break
        print('==:',numer)
    
        numer += 1
    
    例子:找出100-1000以内第一个能够被3整除同时能够被17整除的数
    for x in range(100,1001):
        if x%3==0 and x%17==0:
            print(x)
            # 找到第一个就不用再往下找了
            break
    

    3.for和while的选择

    for循环的循环次数是确定的,white循环的循环次数可以不确定

    1.循环次数不确定的时候,选择while循环。次数确定一般使用for循环
    2.通过循环遍历一个序列中的值,使用for循环

    相关文章

      网友评论

          本文标题:2018-07-19 python循环语句

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