• 列表数据类型day5


    今日学习总结:

    一、列表   用[ ]  

    1.列表,打印列表

    def get_nums():
        nums =[]
        num =input('请输入数字:')
        while num !='':
            nums.append(num)
            num =input('请再输入数字:')
        return nums
    t = get_nums()                                    # 让t接受每次返回的函数的值  这个语句去掉,也可以实现结果举例
    print(get_nums() )                                # 输出列表


    # 结果举例:
    # 请输入数字:3
    # 请再输入数字:5
    # 请再输入数字:7
    # 请再输入数字:8
    # 请再输入数字:6
    # 请再输入数字:
    # ['3', '5', '7', '8', '6']
     

    2.计算输入列表的长度

    def get_nums():
    nums =[]
    num =input('请输入数字:')
    while num !='':
    nums.append(num)
    num =input('请再输入数字:')
    return nums


    def get_len(nums):
    count =0
    for c in nums:
    if c !='':
    count = count+1
    return count
    t = get_nums() #将上面的得到列表的结果拿过来给t
    print('获取数组的长度为:',end='')
    print(get_len(t)) #输出拿过来的列表的长度,不能把t换成nums 因为会提示nums没有被定义
    结果举例:

    请输入数字:3
    请再输入数字:5
    请再输入数字:7
    请再输入数字:8
    请再输入数字:6
    请再输入数字:
    获取数组的长度为:5

     

    3.计算输入列表的总和

    def get_nums():
        nums =[]
        num =input('请输入数字:')
        while num !='':                       # 意思是不能输入空格
            nums.append(num)
            num =input('请再输入数字:')
        return nums
    
    def get_len(nums):
        count =0
        for c in nums:
            if c !='':                         #判断nums的是否为空
               count = count+1
        return count
    
    def get_add(nums):
        sum =0
        for c in nums:
            sum =sum +eval(c)
        return sum
    t = get_nums()
    print('获取数组的总和为:',end='')
    print(get_add(t))

    4.计算列表的平均数

    def get_nums():
        nums =[]
        num =input('请输入数字:')
        while num !='':
            nums.append(num)
            num =input('请再输入数字:')
        return nums
    
    def get_len(nums):
        count =0
        for c in nums:
            if c !='':
               count = count+1
        return count
    
    
    def get_add(nums):
        sum =0
        for c in nums:
            sum =sum +eval(c)
        return sum
    
    
    def get_mean(nums):
        mean =get_add(nums)/get_len(nums)                #get_add(nums)  是求列表总和的 函数的值        get_len(nums) 是求列表长度的 函数的值
    return mean
    t
    =get_nums()
    print('获取数组的平均数为:',end='')
    print(get_mean(t))

    5.计算列表的中位数

    def get_nums():
        nums =[]
        num =input('请输入数字:')
        while num !='':
            nums.append(num)
            num =input('请再输入数字:')
        return nums
    #
    def get_len(nums):
        count =0
        for c in nums:
            if c !='':
               count = count+1
        return count
    
    
    def get_add(nums):
        sum =0
        for c in nums:
            sum =sum +eval(c)
        return sum
    
    
    def get_mean(nums):
        mean =get_add(nums)/get_len(nums)
        return mean

    def get_median(nums): """求中位数""" nums_sort = sorted(nums) #对nums列表进行排序 size = get_len(nums) #计算nums列表的长度 if size % 2 == 0: #判断列表的长度是基数还是偶数 med = (eval(nums_sort[size // 2 - 1]) + eval(nums_sort[size // 2])) / 2 # nums_sort[size // 2 - 1] 排序后的列表,取其中一个数 else: med = eval(nums_sort[size//2]) #nums_sort[size//2] 排序后的列表,取其中一个数 return med nums = get_nums() print(get_median(nums))

    6.计算列表的方差

    def get_nums():
        nums =[]
        num =input('请输入数字:')
        while num !='':
            nums.append(num)
            num =input('请再输入数字:')
        return nums
    #
    def get_len(nums):
        count =0
        for c in nums:
            if c !='':
               count = count+1
        return count
    
    
    def get_add(nums):
        sum =0
        for c in nums:
            sum =sum +eval(c)
        return sum
    
    
    def get_mean(nums):
        mean =get_add(nums)/get_len(nums)
        return mean
    
    
    def get_var(nums,mean):                       #nums是列表 参数。mean 是平均数 参数
        """求方差"""
        sum = 0
        for num in nums:
            sum += (eval(num)-mean)**2
        var = sum / get_len(nums)
        return var
    nums = get_nums()
    print(get_var(nums,get_mean(nums)))          #这里的nums是上一行的nums 不是def get_var(nums,mean)中的nums .因为def get_var(nums,mean)中的nums是 列表参数
                                                 #   #get_mean(nums) 是调用上面的平均数函数

    7.总的优化

    def get_nums():
    #获取列表 nums
    =[] num =input('请输入数字:') while num !='': nums.append(num) num =input('请再输入数字:') return nums def get_len(nums):
    #计算列表长度 count
    =0 for c in nums: if c !='': count = count+1 return count def get_add(nums):
    #计算列表总和 sum
    =0 for c in nums: sum =sum +eval(c) return sum def get_mean(nums):
    #计算列表平均数 mean
    =get_add(nums)/get_len(nums) return mean def get_var(nums,mean): """求方差""" sum = 0 for num in nums: sum += (mean-eval(num))**2 var = sum / get_len(nums) return var nums = get_nums() print(get_var(nums,get_mean(nums))) # def get_median(nums): # """求中位数""" # nums_sort = sorted(nums) #对nums列表进行排序 # size = get_len(nums) #计算nums列表的长度 # if size % 2 == 0: #判断列表的长度是基数还是偶数 # med = (eval(nums_sort[size // 2 - 1]) + eval(nums_sort[size // 2])) / 2 # nums_sort[size // 2 - 1] 排序后的列表,取其中一个数 # else: # med = eval(nums_sort[size//2]) #nums_sort[size//2] 排序后的列表,取其中一个数 # return med # # def main(): nums = get_nums() ll = ['长度', '总和', '平均值', '中位数', '方差'] while True: print("欢迎使用计算器".center(20, '-')) print(""" 1.求长度 2.求总和 3.求平均值 4.求方差 5.求中位数 6.退出""") choice = input('请输入您的需求').strip() result = 0 if choice == '1': result = get_len(nums) elif choice == '2': result = get_add(nums) elif choice == '3': result = get_mean(nums) elif choice == '4': result = get_len(nums) elif choice == '5': result = get_median(nums) elif choice == '6': print('退出') return else: print('输入格式有误') print(f'{ll[eval(choice)-1]}:{result}') main()

    二、元组 用() 。元组只能读取,不能更改。

    三、字典 用{ }

           01.字典是映射的表现

           02.字典是键值对的集合,键值对之间无序。

           03.键值对 是用 冒号: 表示的

           04.用dict{ }创建

    四、集合 用{ }    

          01.集合类型与数学中的集合概念一样

          02.元素间用逗号隔开

          03.集合元素之间无序,每个元素唯一,不存在相同元素

          04.建立空集合类型,必须用set()

  • 相关阅读:
    项目总结1--技术
    基于MFC的Opengl实现动画
    vs2010 MFC Opengl实现
    设计模式-状态模式
    设计模式-访问者模式
    设计模式-责任链模式
    设计模式-中介者模式
    设计模式-命令模式
    设计模式-备忘录模式
    设计模式-观察者模式
  • 原文地址:https://www.cnblogs.com/linda-liu/p/11740863.html
Copyright © 2020-2023  润新知