python--通过可变参数计算n个数的乘积

来源:互联网 发布:罗技g502下什么软件 编辑:程序博客网 时间:2024/05/21 07:34

通过可变参数计算n个数的乘积:

代码如下:

list = []def the_input(count=eval(input("输入乘数的总个数:"))):    for i in range(count):        N=eval(input("依次输入乘数:"))        list.append(N)    print("一共有",count,"个要相乘的数")    print("把这些乘放在列表里面:",list)the_input()def get_mul(*num):    sum =1    for n in num:        sum = sum * n    return sumprint("这鞋数相乘的最终结果是:",get_mul(*list))

运行结果

这里写图片描述

可变参数 解释

在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。

我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……。

要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:

def calc(numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum

但是调用的时候,需要先组装出一个list或tuple:

calc([1, 2, 3])
14
calc((1, 3, 5, 7))
84

如果利用可变参数,调用函数的方式可以简化成这样:

calc(1, 2, 3)
14
calc(1, 3, 5, 7)
84

所以,我们把函数的参数改为可变参数:

def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum

定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数:

calc(1, 2)
5
calc()
0

如果已经有一个list或者tuple,要调用一个可变参数怎么办?可以这样做:

nums = [1, 2, 3]
calc(nums[0], nums[1], nums[2])
14

这种写法当然是可行的,问题是太繁琐,所以Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:

nums = [1, 2, 3]
calc(*nums)
14

*nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 彩虹真实照片 彩虹代表的含义 彩虹歌曲羽泉 雨后彩虹图片 彩虹歌词羽泉 彩虹是什么意思 彩虹英语怎么说 彩虹的英语单词 彩虹吉他谱简单版 彩虹是那几种颜色 彩虹远程控制软件 彩虹伞什么牌子好 彩虹的拼音怎么写 婚庆彩虹门多少钱 彩虹简单版吉他谱 彩虹玫瑰花多少钱 彩虹什么时候出现 彩虹室外乒乓球台 水果彩虹蛋糕图片 彩虹乒乓球台价格 彩虹电热毯旗舰店 雪山彩虹谷在哪里 采虹 彩红 采红 为什么会出现彩虹 枣庄论坛 大众日照论坛 攀登者彩蛋 沙赞彩蛋 彩蛋 彩蛋制作 画彩蛋图片 彩蛋是什么 什么是彩蛋 复活节彩蛋 彩蛋图片 绘制彩蛋 万圣节彩蛋 安卓彩蛋 彩蛋怎么做