python 通过可变参数计算n个数的乘积方法
通过可变参数计算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函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是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可变参数函数用法.分享给大家供大家参考.具体如下: #!/usr/bin/python def f1(a,b): print a,b def f2(a,*b): print a,b def f3(a,**b): print a,b def f4(a,*b,**c): print a,b,c def f5(a,b=2,c=3): print a,b,c def f6(a,b=2,*c): print a,b,c f1(1,2) f1(b=2,a=1) f2(1,2,3,4
-
Python实现接受任意个数参数的函数方法
这个功能倒也不是我多么急需的功能,只是恰好看到了,觉得或许以后会用的到.功能就是实现函数能够接受不同数目的参数. 其实,在C语言中这个功能是熟悉的,虽说实现的形式不太一样.C语言中的main函数是可以实现类似的功能的,可以通过这种方式实现一个支持命令行参数的程序. 先写一段python实现相应功能的示范代码: defFuncDemo(*par): print("number of pars: %d" %len(par)) print("type of par: %s"
-
python实现n个数中选出m个数的方法
题目: 某页纸上有一个数列A,A包含了按照从小到大的顺序排列的多个自然数,但是因为一些原因,其中有M个连续的位置看不清了.这M个数左边最小的数是X,右边最大的数是Y,这些数之和大于等于P且小于等于Q. #请写程序,在输入M,X,Y,P,Q后自动给出所有可能的合法排列 from itertools import combinations ####第一步,题目给的数据输入 str=input() m=int(str.split()[0]) x=int(str.split()[1]) y=int(st
-
详解Python函数可变参数定义及其参数传递方式
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): print args >>> func(1,2,3) (1, 2, 3) >>> func(*[1,2,3]) #这个方式可以直接将一个列表的所有元素当作不定参数 传入(1, 2, 3) 2.func( **kwargs) 传入的参数为以字典形式存在args中,如: d
-
Python实现求笛卡尔乘积的方法
本文实例讲述了Python实现求笛卡尔乘积的方法.分享给大家供大家参考,具体如下: 在数学中,两个集合X和Y的笛卡尓乘积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员.假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0), (a,1), (a,2), (b,0), (b,1), (b, 2)}.有时我们需要在python求两个list的笛卡尔乘积,其实很简单,一行代码搞定. 例如
-
Python可变参数用法实例分析
本文实例讲述了Python可变参数用法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import math def calc(*numbers): sum=0 for n in numbers: sum+=n**2 return sum print(calc(1,2,3)) print(calc(1,3,5,7)) print(calc()) 运行效果图如下: 定义可变参数和定义一个list或tuple参数相比,仅
-
python 通过可变参数计算n个数的乘积方法
通过可变参数计算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
-
Python根据输入参数计算结果的实例方法
说明 define function,calculate the input parameters and return the result. 数据存放在 txt 里,为 10 行 10 列的矩阵. 编写一个函数,传入参数:文件路径.第一个数据行列索引.第二个数据行列索引和运算符. 返回计算结果 如果没有传入文件路径,随机生成 10*10 的值的范围在 [6, 66] 之间的随机整数数组存入 txt 以供后续读取数据和测试. 1.导入需要的依赖库和日志输出配置 # -*- coding: UT
-
Python函数可变参数定义及其参数传递方式实例详解
本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): print args >>> func(1,2,3) (1, 2, 3) >>> func(*[1,2,3]) #这个方式可以直接将一个列表的所有元素当作不定参数 传入(1, 2, 3) 2.func( **kwargs)
-
python计算两个数的百分比方法
工作中遇到了要计算两个数百分比的问题,python 2.7 环境. 代码: #!/usr/bin/env python #function: 计算百分比 #USAGE: python calculator.py num1 num2 import sys a=sys.argv[1] a=float(a) b=sys.argv[2] b=float(b) print "%.2f%%" % (a/b*100) 示例: root@ops-docker-1:/tmp/data# python c
-
python使用range函数计算一组数和的方法
本文实例讲述了python使用range函数计算一组数和的方法.分享给大家供大家参考.具体如下: sum = 0 numbers = range(1,10) for i in numbers: sum += i print(sum) 运行结果为:45 希望本文所述对大家的Python程序设计有所帮助.
-
python 获取毫秒数,计算调用时长的方法
如题:在python的函数调用中需要记录时间,下面是记录毫秒时间的方法. import datetime import time t1 = datetime.datetime.now().microsecond t3 = time.mktime(datetime.datetime.now().timetuple() //这里调用你的方法 t2 = datetime.datetime.now().microsecond t4 = time.mktime(datetime.datetime.now(
-
小议Python中自定义函数的可变参数的使用及注意点
可变参数 Python的可变参数有两种,一种是列表类型,一种是字典类型.列表类型类似 C 中的可变参数,定义方式为 def test_list_param(*args) : for arg in args : print arg 其中 args 是一个 tuple. 字典类型的可变参数: def test_dict_param(**args) : for k, v in args.iteritems() : print k, v 其中 args 是一个 dictionary 可以分别传递 tup
-
java可变参数(不定向参数)的作用与实例
java可变参数的作用: 在编写方法的过程中,可能会遇见一个方法有不确定参数个数的情况.一般我们会用方法重载来解决问题: 1 //方法重载,解决参数个数不确定问题 2 public void method(); 3 public void method(int i); 4 public void method(int i, int j); 5 public void method(int i, int j, int k); 但是,当参数个数过多,这样太过于繁琐,于是我们可以使用不定项参数(可变参
-
python函数参数(必须参数、可变参数、关键字参数)
#python中的函数定义,使用和传参 ###------------------- 必要参数 ------------------------------------- 必要参数,即函数调用时必须要传的参数, #下面进行举例说明 def helloWorld(a): print('输出:hello') if __name__ == '__main__': helloWorld("aaa") ## 必须要有参数 ##------------ 默认参数 -----------------
随机推荐
- 学习JavaScript设计模式之中介者模式
- linux 命名管道实例详解
- Kafka使用Java客户端进行访问的示例代码
- ES6深入理解之“let”能替代”var“吗?
- ThinkPHP有变量的where条件分页实例
- python socket多线程通讯实例分析(聊天室)
- Jsp中如何让图片在div中居中
- Android屏幕锁屏弹窗的正确姿势DEMO详解
- docker中安装quagga详细介绍
- linux下指定mysql数据库服务器主从同步的配置实例
- MySQL里实现类似SPLIT的分割字符串的函数
- 微信支付如何实现内置浏览器的H5页面支付
- js实现的复制兼容chrome和IE
- 在MySQL中生成随机密码的方法
- jquery实现的提示浮层跟随鼠标移动
- js插入字符到textarea的效果代码
- Android自定义控件实现简单的轮播图控件
- PHP个人网站架设连环讲(四)
- C++设计模式之模板方法模式
- python模仿网页版微信发送消息功能