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


Posted in Python onJune 13, 2019

通过可变参数计算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 sum



print("这鞋数相乘的最终结果是:",get_mul(*list))

运行结果

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

可变参数 解释

在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的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。

以上这篇python 通过可变参数计算n个数的乘积方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python调用短信猫控件实现发短信功能实例
Jul 04 Python
Python中django学习心得
Dec 06 Python
python实现媒体播放器功能
Feb 11 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
Apr 23 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
python3发送邮件需要经过代理服务器的示例代码
Jul 25 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
Python实现钉钉订阅消息功能
Jan 14 Python
pycharm中import呈现灰色原因的解决方法
Mar 04 Python
Python通过m3u8文件下载合并ts视频的操作
Apr 16 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 Python
python 多线程对post请求服务器测试并发的方法
Jun 13 #Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 #Python
使用python制作一个为hex文件增加版本号的脚本实例
Jun 12 #Python
Python hexstring-list-str之间的转换方法
Jun 12 #Python
对python3.4 字符串转16进制的实例详解
Jun 12 #Python
python版DDOS攻击脚本
Jun 12 #Python
selenium处理元素定位点击无效问题
Jun 12 #Python
You might like
在线短消息收发的程序,不用数据库
2006/10/09 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
js控制table合并具体实现
2014/02/20 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
Python3读取文件常用方法实例分析
2015/05/22 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
Python单元测试与测试用例简析
2019/11/09 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
新闻专业毕业生英文求职信
2014/03/19 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
个人党性锻炼总结
2015/03/05 职场文书
运动会广播稿20字
2015/08/19 职场文书
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android