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异步回调机制实现和使用方法
Nov 26 Python
编写简单的Python程序来判断文本的语种
Apr 07 Python
栈和队列数据结构的基本概念及其相关的Python实现
Aug 24 Python
python实现mysql的单引号字符串过滤方法
Nov 14 Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
Python经纬度坐标转换为距离及角度的实现
Nov 01 Python
python实现socket简单通信的示例代码
Apr 13 Python
Python与C++中梯度方向直方图的实现
Mar 17 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
JS实现php的伪分页
2008/05/25 PHP
PHP 程序员的调试技术小结
2009/11/15 PHP
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
js对数字的格式化使用说明
2011/01/12 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jQuery链使用指南
2015/01/20 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
老生常谈javascript中逻辑运算符&&和||的返回值问题
2017/04/13 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
Python实现二维有序数组查找的方法
2016/04/27 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
后勤副校长自我鉴定
2013/10/13 职场文书
大学生秋游活动方案
2014/02/17 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
合作协议书格式范本
2016/03/21 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
Python保存并浏览用户的历史记录
2022/04/29 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python