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基础篇之初识Python必看攻略
Jun 23 Python
python操作 hbase 数据的方法
Dec 18 Python
Python编程之序列操作实例详解
Jul 22 Python
Python实现判断一个字符串是否包含子串的方法总结
Nov 21 Python
Python实现输出某区间范围内全部素数的方法
May 02 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
python自定义时钟类、定时任务类
Feb 22 Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 Python
Python PIL库图片灰化处理
Apr 07 Python
Python中rapidjson参数校验实现
Jul 25 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 whois查询API制作方法
2011/06/23 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python3处理文件中每个词的方法
2015/05/22 Python
用Python解决计数原理问题的方法
2016/08/04 Python
利用python发送和接收邮件
2016/09/27 Python
Python实现随机选择元素功能
2017/09/14 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
CSS3实现swap交换动画
2016/01/19 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
学生自我评价范文
2014/02/02 职场文书
装配出错检讨书
2014/09/23 职场文书
python Polars库的使用简介
2021/04/21 Python
pyqt5打包成exe可执行文件的方法
2021/05/14 Python