循环

作者: GHope | 来源:发表于2018-07-19 17:16 被阅读135次

    for循环

    需要重复执行某个过程,就可以使用循环
    python中的循环有for循环和while

    for 变量名 in 序列:
        循环体
    

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

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

    for char in 'uryecdsbu1243':
        print(char)
        print('!')
    
    print('===')
    

    打印20次'abc'

    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)
    
    print('++++')
    
    # range(1,10,2):产生数字(13579)
    for x in range(1,10,2):
        print(x)
    
    
    # 计算1+2+3+...+100
    y = 0
    for x in range(1,101):
        y += x
    print(y)
    
    # 计算1*2*3*...*10
    # 计算2*4*6*8*10
    # 心得:从已经取到的值中挑选
    y = 1
    m = 1
    for x in range(1,11):
        y *= x
        if x%2==0:
            m *= x
    print(y,m)
    
    # 有一个字符串'abcdef',依次取出字符串中偶数位上的字符
    str0 = 'abcdef' 
    for index in range(2,6,2):
        print(str0[index])
    
    # 循环取出字符串中的偶数下标
    for index in range(0,len(str0),2):
        print(str0[index])
    
    # 循环取出字符串中每个字符的下标
    for index in range(0,len(str0)):
        # 判断下标是否是偶数
        if index %2 ==0:
            print(str0[index])
    
    
    index = 0
    for char in str0:
        if index%2==0:
            print(str0[index])
        index += 1
    

    while 循环

    while 条件语句:
        循环体
    

    while: 关键字
    条件语句:bool型结果
    循环体:重复执行的代码段
    执行过程:判断条件语句是否为True,如果为True就执行循环体。执行完循环体后,再判断条件语句是否为True,如果为True就再执行循环体,以此类推,直至条件语句的值为False,循环结束,执行while循环后面的语句
    注意:如果条件语句一直为True,就会造成死循环。所以在循环体中要
    有让循环体可以结束的操作
    python中没有do-while循环

    死循环
    while :
        print('aaa')
    '''
    flag = True
    while flag:
        print('aaa')
        flag = False
    
    #使用while循环计算1+2+...+100
    sum = 0
    x=1
    while x<=100:
        sum += x
        x += 1
    print(sum)
    
    # 计算2+4+...+100
    sum = 0
    x=2
    while x<=100:
        sum += x
        x += 2
    print(sum)
    

    break和continue

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

    continue:结束当次循环,进入下次循环的判断。如果是for循环,就让变量取下一个值;如果是while循环就去判断while后边的条件语句是否为True

    for x in range(10):
        print(x)
        continue   #不执行continue后面的语句,直接让X取下一个值
        print('===')
    print('====')
    
    for x in range(10):
        if x %2:
            continue
        print(x)
    

    break:结束整个循环,执行循环后面的语句。

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

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

    number = 1
    while number <= 100:
        print(number)
        number += 1
    
    

    使用break结束死循环

    number = 1
    while True:
        if number > 100:
            break
        print('==',number)
    
        number += 1
    

    找出100-1000 第一个能够被3整除同时能够被17整除的数

    number = 100
    while number<=1000:
        number += 1
        if number%3==0 and number%17==0:
            print(number)
            break
    
    for x in range(100,1000):
        if x%3==0 and x%17==0:
            print(x)
            break
    

    for 和 while 的选择

    fro循环的循环次数是确定的,while循环的循环次数可以不确定

    1.循环次数不确定的时候,选择while循环
    2.循环次数确定的时候,优先for循环。

    通过循环遍历一个序列中的值,使用for循环

    input()

    接收从控制台输入数据的数据(输入的数据以回车结束)
    程序中遇到input()函数,程序会阻塞,等待用户输入完成后,
    才会接着执行后面的代码

    使用value去保存从控制台输入的数据

    value = input()
    
    print('===')
    

    产生随机数
    python中有一个内置模块,可以产生随机数:random

    randint(m,n):产生一个随机数(整数)

    # 导入random模块
    import random
    # 产生1-10的随机数
    number = random.randint(1,10)
    print(number)
    

    相关文章

      网友评论

        本文标题:循环

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