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中的闭包和装饰器
Jun 12 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
简单谈谈python中的多进程
Nov 06 Python
python3爬取数据至mysql的方法
Jun 26 Python
使用Template格式化Python字符串的方法
Jan 22 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
python django model联合主键的例子
Aug 06 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
keras .h5转移动端的.tflite文件实现方式
May 25 Python
python代码区分大小写吗
Jun 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
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
js读取配置文件自写
2014/02/11 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
优秀学生干部个人事迹材料
2014/06/02 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android