我是靠谱客的博主 天真牛排,最近开发中收集的这篇文章主要介绍循环与迭代,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

python的循环语句只有二个 while for ,所有的语句都支持嵌套

while 语句:
形式一:
    while  条件:
        代码块1

形式二:
    while 条件:
        代码块1
    else:
        代码块2

死循环,只要条件永远为真
    while True:
        代码块


循环控制语句:
    break  : 当循环遇到break时,则终止整个循环
    continue: 当循环遇到continue时 ,则终止当前循环开始下一次循环
    pass    :  占位,什么也不做
** 练习1: 求 1到100之间的和 **
        ret = 0
        i = 1
        while i<=100:
            ret = ret + i
            #i = i + 1
            i += 1

        print(ret)

** 练习2: 有一个列表 L = [12,5,65,23,68,84,26],将奇偶数分开 **
        方法一:
            L = [12,5,65,23,68,84,26]
            odd = []
            even = []

            flag = 0
            while flag < len(L):
                tmp = L[flag]
                if tmp % 2 == 0:
                    even.append(tmp)
                else:
                    odd.append(tmp)
                flag += 1

            print(odd)
            print(even)

        方法二:
            L = [12,5,65,23,68,84,26]
            odd = []
            even = []

            while L:
                tmp = L.pop(0)
                if tmp % 2 == 0:
                    even.append(tmp)
                else:
                    odd.append(tmp)

            print(odd)
            print(even)

 ** 练习3 斐波那契数列(后一位是前两位的和: 1  1  2  3  5 ....)输出其中的某一位,比如指定第6位,则输出数列中的第6个数。 **
            count = 8
            fib = [1,1]

            while len(fib) < count:
                new = fib[-1] + fib[-2]
                fib.append(new)

            print(fib)
            print(fib[count-1])

** 练习4 学生信息字典 : studict = {'Tom':[18801116666,20],'Lily':[18801116688,22],'Harry':[18801117777,18]} 
    需求:用户执行程序,输出所有年龄大于19岁的“学生名-年龄-电话” **

            studict = {'Tom':[18801116666,20],'Lily':[18801116688,22],'Harry':[18801117777,18]}
            while studict:
                tmp = studict.popitem()
                age = tmp[1][1]
                if age > 19:
                    print('{}  {}  {}'.format(tmp[0],*tmp[1]))

** 练习5 找出所有的水仙花数(一个三位数,个位数的三次方,十位数的三次方,百位数的三次方相加等于这个数本身) **
            flag = 100
            while flag < 1000:
                bai = flag % 1000 // 100
                shi = flag % 100 // 10
                ge = flag % 10 // 1
                tmp = bai ** 3 +shi ** 3 + ge ** 3
                if tmp == flag:
                    print(tmp)

                flag += 1

** 练习6 判断一个数是不是质数(只能被1和它本身整除的数,又称素数) **
            num = 9
            flag = 2
            while flag < num:
                if num % flag == 0:
                    print(False)
                    break
                flag += 1
            else:
                print(True)

** 练习7 猜数游戏,产生一个1-100之间的随机数,让用户猜,如果数大了就说数太大了,如果数小了就说数小了,如果猜对了就说猜对了 **
    产生随机数的方法
        from random import randint
        randnum = randint(1,100)

    参考:
        from random import randint
        randnum = randint(1,100)

        while True:
            guess = input('请猜一个1到100之间的整数: n')
            guess = guess.strip()
            if not guess.isdigit():
                print('{} 不合法,必须为一个整数'.format(guess))
                continue
            guess  = int(guess)
            if guess > randnum:
                print('{} 太大了'.format(guess))
            elif guess < randnum:
                print('{} 太小了'.format(guess))
            else:
                print('{} 猜对了'.format(guess))
                break


** 练习8 猜数游戏,产生一个1-100之间的随机数,让用户猜,如果数大了就说数太大了,如果数小了就说数小了,如果猜对了就说猜对了。
        统计用户猜了多少次才猜对的。如果用户猜对了,问一下用户是否要继续 n 为退出,其它任意键为继续 **

最后

以上就是天真牛排为你收集整理的循环与迭代的全部内容,希望文章能够帮你解决循环与迭代所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部