北理工Python程序设计练习笔记(3)

第五、六周练习笔记

(1)任意累积

描述

请根据编程模板补充代码,计算任意个输入数字的乘积。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

注意,仅需要在标注…的地方补充一行或多行代码。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

#原始模板
# 请在...补充一行或多行代码

def cmul(...):
    ...
    
print(eval("cmul({})".format(input())))

思考:在原始模板中,print()括号里的代码非常巧妙。首先,运用.format()将用户的输入填充到前面的{}中,然后 通过eval()函数执行" "内的代码的功能,而cmul()的功能就是计算出乘积,因此最后通过print()函数输出cmul()的返回值。
这种方法精简了代码,减少了一次变量的设置。

#本人的代码
# 请在...补充一行或多行代码
#如果函数可能有多少输入,且数量不确定,那么应当设置形参为*a的形式
#*会把输入的形参以元组的形式储存,所以a传入cmul()后,a的每一个元素是数字,可以直接参与运算
def cmul(*a):
    sig=1
    for i in a:
        sig=sig*i
    return sig


print(eval("cmul({})".format(input())))

你可能感兴趣的:(北理工Python程序设计练习笔记(3))