北理工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())))