python基础课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()

猜你喜欢

转载自www.cnblogs.com/linda-liu/p/11740863.html