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 相关文章推荐
Python3 适合初学者学习的银行账户登录系统实例
Aug 08 Python
Python实现简单的HttpServer服务器示例
Sep 25 Python
目前最全的python的就业方向
Jun 05 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
python word转pdf代码实例
Aug 16 Python
使用TFRecord存取多个数据案例
Feb 17 Python
基于python实现数组格式参数加密计算
Apr 21 Python
python软件都是免费的吗
Jun 18 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
python 制作网站小说下载器
Feb 20 Python
Python实现8种常用抽样方法
Jun 27 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
php单件模式结合命令链模式使用说明
2008/09/07 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
jQuery绑定事件的几种实现方式
2016/05/09 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
对python中的高效迭代器函数详解
2018/10/18 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
杭州-DOTNET笔试题集
2013/09/25 面试题
工厂仓管员岗位职责
2014/01/01 职场文书
司仪主持词两篇
2014/03/22 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
初婚未育证明样本
2014/10/24 职场文书
临时用工协议书范本
2014/10/29 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
Mysql数据库group by原理详解
2022/07/07 MySQL