• Python练习题一


    前提:Python的列表解析式

    [expression for iter_var in iterable1 if condition]

    import random
    a=[random.randint(1,99) for i in range(10) if random.randint(1,99)<40]
    print(a) 

    等价于下面的意思:

    import random
    a=[]
    for i in range(10):
        if random.randint(1,99)<40:
            a.append(random.randint(1,99))
    print(a) 

    1、计算平均数,中位数和众数

    中位数:中间的数字

    众数:出现次数最多的数字

    求平均数:使用sum函数直接求列表的值

    import random
    a=[random.randint(1,99) for i in range(10)]
    print(a,len(a))
    avg = sum(a)*1.0/len(a)
    print("The avg is:",avg)

    [69, 4, 84, 17, 46, 14, 9, 41, 49, 23] 10
    The avg is: 35.6

    求中位数:中位数需要将列表排序,如果数字个数是奇数,取中间即可,如果是偶数,取中间两个值的平均数即可。

    import random
    li=[random.randint(1,15) for i in range(10)]
    li.sort()
    print(li)
    remainder = len(li)%2
    mid_1 = len(li)/2 -1
    mid = len(li)/2
    if (remainder == 0):
        print((li[int(mid_1)]+li[int(mid)])/2*1.0)
    else:
        print(li[int(mid)]) 

     [2, 3, 4, 5, 7, 9, 10, 11, 13, 14]
     8.0

    求众数:

    import random
    li=[random.randint(1,15) for i in range(10)]
    print(li)
    
    dic = {}
    for i in li:
        k,v = i,li.count(i)
        dic[k]=v
    print(dic)
    
    for k,v in dic.items():
        if (v == max(dic.values())):
            print(k,v)
    
    [1, 5, 4, 10, 5, 10, 7, 3, 12, 12] {1: 1, 5: 2, 4: 1, 10: 2, 7: 1, 3: 1, 12: 2} 5 2 10 2 12 2

      

     2、一个列表若干整数构成,现在要将偶数放在前面,奇数放在后面

    import random
    li=[random.randint(1,15) for i in range(10)]
    odd=[]
    even=[]
    print(li)
    for i in range(len(li)):
        if (li[i]%2==0):
            even.append(li[i])
        else:
            odd.append(li[i])
    even.extend(odd)
    print(even)
    
    [4, 2, 5, 5, 14, 6, 8, 1, 15, 4]
    [4, 2, 14, 6, 8, 4, 5, 5, 1, 15]
    

    3、斐波拉切数列

    F(0)=0

    F(1)=1

    F(2)=F(1)+F(0)

    def fab(n):
        if(n>=2):
            return fab(n-1)+fab(n-2)
        else:
            return n
    
    for i in range(8):
        print(fab(i), end=' ')
    
    0 1 1 2 3 5 8 13 
    

      

     

  • 相关阅读:
    AOP
    session的一些原理
    HttpContext.Cache和Application的区别
    什么是COM组件
    MS—SQL数据库索引的应用
    会话状态(转)
    LINQ体验(6)——LINQ语句之Join和Order By(转)
    永远不停止学习,才是程序员最大的财富,欢迎加入CMS研究室
    面向对象
    从瀑布型开发到迭代型开发的转变
  • 原文地址:https://www.cnblogs.com/python-study/p/14055619.html
Copyright © 2020-2023  润新知