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函数中定义参数的四种方式
Nov 30 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
Python lambda函数基本用法实例分析
Mar 16 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
python set集合使用方法解析
Nov 05 Python
Python简单实现区域生长方式
Jan 16 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 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学习笔记之二
2011/01/17 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
Python实现list反转实例汇总
2014/11/11 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
创业计划书中要认真思考的问题
2013/12/28 职场文书
营业员演讲稿
2013/12/30 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
个人买房协议书范本
2014/10/06 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技