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中的defaultdict模块和namedtuple模块的简单入门指南
Apr 01 Python
Python基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
Python实现字典的遍历与排序功能示例
Dec 23 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
May 24 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
Python判断有效的数独算法示例
Feb 23 Python
python实现诗歌游戏(类继承)
Feb 26 Python
我们为什么要减少Python中循环的使用
Jul 10 Python
利用python实现冒泡排序算法实例代码
Dec 01 Python
Python实现AI自动抠图实例解析
Mar 05 Python
Python ATM功能实现代码实例
Mar 19 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新手上路(五)
2006/10/09 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
php学习笔记之基础知识
2014/11/08 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
理解Javascript闭包
2013/11/01 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
用Python创建声明性迷你语言的教程
2015/04/13 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
pytorch打印网络结构的实例
2019/08/19 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
python调用摄像头的示例代码
2020/09/28 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
SQL数据库笔试题
2016/03/08 面试题
促销活动方案模板
2014/02/24 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL