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的Django框架上部署ORM库的教程
Apr 20 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
python实现AdaBoost算法的示例
Oct 03 Python
Python pymysql模块安装并操作过程解析
Oct 13 Python
用python爬虫批量下载pdf的实现
Dec 01 Python
python blinker 信号库
May 04 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
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php 实现进制相互转换
2016/04/07 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
java必学必会之static关键字
2015/12/03 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
实例说明Python中比较运算符的使用
2015/05/13 Python
简单讲解Python中的闭包
2015/08/11 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Python zip()函数用法实例分析
2018/03/17 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
使用python对文件中的数值进行累加的实例
2018/11/28 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python用字典构建多级菜单功能
2019/07/11 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
Python如何绘制日历图和热力图
2020/08/07 Python
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
土木工程应届生自荐信
2013/09/24 职场文书
服装创业计划书范文
2014/02/05 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
毕业典礼邀请函
2015/01/31 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript
详解Oracle块修改跟踪功能
2021/11/07 Oracle