欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【Python实践-2】求一个或多个数的乘积

程序员文章站 2022-12-23 20:27:03
知识点: 可变参数,即传入的参数个数是可变的,从0个到任意个。输入参数作为一个list或tuple传进来,定义可变参数,在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple(或list)。调用一个可变参数,Python允许你在list或tuple前面加一个*号,把list或 ......
 1 # -*- coding: utf-8 -*-
 2 #定义一个函数,可接收一个或多个数并计算乘积
 3 def product(*numbers):
 4     s=1
 5     for n in numbers:
 6         s=s*n
 7     return s
 8 print('请输入一个或多个数,以空格分隔')
 9 #将输入的字符串转换为数组
10 a=list(map(float,input().strip().split()))
11 #print(a)
12 print(product(*a))

知识点:

  • 可变参数,即传入的参数个数是可变的,从0个到任意个。输入参数作为一个list或tuple传进来,定义可变参数,在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple(或list)。调用一个可变参数,python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去。*a表示把a这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
  • a=list(map(float,input().strip().split()))将输入的字符串转换为数组,python内建了map()函数,map()函数接收两个参数,一个是函数,一个是iterable, map将传入的函数依次作用到序列的每个元素,并把结果作为新的iterator返回。 举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现如下。map()传入的第一个参数是f,即函数对象本身。由于结果r是一个iterator,iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。
>>> def f(x): 
...           return x * x
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]
  • python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
  • python split() 通过指定分隔符对字符串进行切片, 并返回分割后的字符串列表(list),如果参数 num 有指定值,则分隔 num+1 个子字符串。