python-for循环与while循环

发布时间:2019-06-07 20:32:24编辑:auto阅读(1479)

    while 循环

    格式:

    while 条件 为 True:

    代码块
    while True:
        rayn_age = 18
        age = input('请输入你的年龄:')
        age = int(age)
        if age == rayn_age:
            print('恭喜你答对了')
        elif age > rayn_age:
            print('猜大了')
        else:
            print('猜小了')
        break
    请输入你的年龄:11
    猜小了

    问题来了,如果while的条件没有控制好,那么while循环就会成为死循环

    while + break

    while True:
        rayn_age = 18
        age = input('请输入你的年龄:')
        age = int(age)
        if age ==rayn_age:
            print('恭喜你猜对了')
            break  ## 直接终止本层循环
        elif age > rayn_age:
            print('你猜大了')
        else:
            print('猜小了')
    请输入你的年龄:11
    猜小了
    请输入你的年龄:18
    恭喜你猜对了

    while +continue

    打印1-100的整数,且不打印50

    count = 0
    while count <101:
        if count == 50:
            count +=1
            continue  ## 本层级下面的代码行都不执行,就是中断本层级的循环,外层循环正常循环。
        print(count,end=' ') # end=' ' 表示取消打印自动换行
        count +=1
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 

    while 循环的嵌套

    count = 0
    dic = {0:'铅笔一只',1:'钢笔一只',2:'橡皮擦一个'} #奖励品可以用字典来展示,这样用户只要输入key值就可以自动索引到奖品。
    while count <3:
        rayn_age = 18
        age = input('请输入你的年龄:')
        age = int(age)
        if age == rayn_age:
            print('恭喜你,猜对了,有奖励哦')
            # 这个循环是选择奖励品的判断循环
            while True:
                print(f'请选择奖励:{dic}') 
                chiose = input('请选择奖励:')
                chiose = int(chiose)
                if chiose == 1:
                    print('权限不够,请重新选择!')
                else:
                    print(f'你选择了{dic[chiose]},请取走')
                    break
            break
        elif age > rayn_age:
            print('猜大了')
        else:
            print('猜小了')
        count +=1
        j = 3 - count
        print(f'你还有{j}次机会')
    请输入你的年龄:11
    猜小了
    你还有2次机会
    请输入你的年龄:20
    猜大了
    你还有1次机会
    请输入你的年龄:18
    恭喜你,猜对了,有奖励哦
    请选择奖励:{0: '铅笔一只', 1: '钢笔一只', 2: '橡皮擦一个'}
    请选择奖励:1
    权限不够,请重新选择!
    请选择奖励:{0: '铅笔一只', 1: '钢笔一只', 2: '橡皮擦一个'}
    请选择奖励:2
    你选择了橡皮擦一个,请取走

    for循环

    for 循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。for循环也可以按照索引取值

    比如把1-100的数值全部取出来,那用while循环还要我们自己添加控制条件,而for循环不需要。

    for i in range(1,101):
        print(i,end=' ')
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 

    for + break

    rayn_list = ['read','run','rap','sing']
    for i in rayn_list:
        if i == 'rap':
            break  ##直接终止循环
        print(i)
    read
    run

    for + continue

    rayn_list = ['read','run','rap','sing']
    for i in rayn_list:
        if i == 'rap':
            continue  ##除了‘rap’层级不执行外,其他层级循环继续执行。
        print(i)
    read
    run
    sing

关键字