python|求均值和大于均值的值(*args 与**args区别)
项目场景:
基础练习题 问题描述: 提示:这里描述项目中遇到的问题:
编写一个函数cacluate, 可以接收任意多个数, 返回的是一个元组.元组的第一个值为所有参数的平均值(均值保留一位小数), 第二个值是大于平均值的所有值
文章图片
原因分析: 提示:这里填写问题的分析:
函数要想接收多个参数必然要使用可变参数类型----*args
将从键盘读入的数据转为list后,想要将列表中的值传入函数形参
传入方法:解包
list = [...]
调用:fun(*list)
只需要在调用的时候,在list表前面加*即可
解决方案: 提示:这里填写该问题的具体解决方案:
代码:
num = list(map(int, input("Please input numbers,and press the Enter to end.(gap with ,)\n").split(',')))
def cacluate(*args):
average = sum(args) / len(args)
list1 = []
for i in args:
if i > average:
list1.append(i)
tuple1 = (average, list1)
return tuple1
print(cacluate(*num))
知识点:
1.可变参数*args本质上说一个元组
def sum(*arg):
result=0
for i in arg:
result+=i
return resultargs=[1,2,3,4,5,6]
a=sum(*args) #a的值为列表中所有值的和,该方法称为解包,即将列表中的元素依次传入函数中def add(**kw):
result=0
for k,v in kw.items():
result+=v
return resultkws=["a":1,"b":2,"c":3,"d":4,"e":5,"f":6]
a=add(**kws) #字典也可以解包#调用函数时add(**kws),加了*叫解包;创建函数时def add(**kw),加了*叫可变参数
【python|求均值和大于均值的值(*args 与**args区别)】2.将列表传入给形参:解包
在列表前加一个*即可
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 有句话忍很久了,女生要求买房怎么就物质了()
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- 基于爱,才会有“愿望”当“要求”。2017.8.12
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则