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之再深点,更懂list
Sep 20 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
Python序列操作之进阶篇
Dec 08 Python
python3中set(集合)的语法总结分享
Mar 24 Python
Python探索之爬取电商售卖信息代码示例
Oct 27 Python
python微信跳一跳游戏辅助代码解析
Jan 29 Python
简单了解Python3里的一些新特性
Jul 13 Python
Django 外键的使用方法详解
Jul 19 Python
Python输出指定字符串的方法
Feb 06 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 Python
Python爬取酷狗MP3音频的步骤
Feb 26 Python
Python+Appium自动化测试的实战
Jun 30 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在字符串中查找另一个字符串
2008/11/19 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
jQuery 获取对象 定位子对象
2010/05/31 Javascript
range 标准化之获取
2011/08/28 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
Python使用gRPC传输协议教程
2018/10/16 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
Python中遍历列表的方法总结
2019/06/27 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
python3 kubernetes api的使用示例
2021/01/12 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
优秀生推荐信范文
2013/11/28 职场文书
学生评语大全
2014/04/18 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
2015年新教师工作总结
2015/04/28 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript