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线程锁(thread)学习示例
Dec 04 Python
Python中optparse模块使用浅析
Jan 01 Python
在Python的Flask框架中实现全文搜索功能
Apr 20 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
python自动12306抢票软件实现代码
Feb 24 Python
python 字符串只保留汉字的方法
Nov 16 Python
详解Python 切片语法
Jun 10 Python
python实现本地批量ping多个IP的方法示例
Aug 07 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
Python爬虫网络请求之代理服务器和动态Cookies
Apr 12 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
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
python正则表达式re之compile函数解析
2017/10/25 Python
Python实现自动上京东抢手机
2018/02/06 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
python实现学生信息管理系统源码
2021/02/22 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
sort命令的作用和用法
2012/11/04 面试题
三八节主持词
2014/03/17 职场文书
环卫工人节活动总结
2014/08/29 职场文书
学习退步检讨书
2014/09/28 职场文书
好好学习保证书
2015/02/26 职场文书
2015年小学开学寄语
2015/02/27 职场文书
行政答辩状范文
2015/05/21 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers
Javascript webpack动态import
2022/04/19 Javascript