美文网首页
Python-使用列表推导式的案例

Python-使用列表推导式的案例

作者: 去他山捡石头 | 来源:发表于2018-07-19 21:55 被阅读0次

    案例:创建一个函数,输入一个大于1的整数,返回一个列表,包含所有能够整除该整数的因子(不包含1和它本身),并且从小到大排序。如果这个数是素数,则返回“(integer) is prime”。

    • 一般的写法
    def divisors1(integer):
        a =[]
        for i in range(2,integer):
            if integer % i == 0:
                a.append(i)
        if len(a) != 0:
            return a
        else:
            return "%i is prime" % integer
        
    print(divisors1(12))
    print(divisors1(25))
    print(divisors1(13))
    
    ###输出结果为:
    [2, 3, 4, 6]
    [5]
    13 is prime
    
    • 进阶写法:使用列表推导式,只用一行代码来完成。且return的值也直接使用条件语句来表达
    def divisors2(integer):
        a =[i for i in range(2, integer) if integer % i == 0]
        return a if a else "%i is prime" % integer
    
    print(divisors2(12))
    print(divisors2(25))
    print(divisors2(13))
    
    ###输出结果为:
    [2, 3, 4, 6]
    [5]
    13 is prime
    

    相关文章

      网友评论

          本文标题:Python-使用列表推导式的案例

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