|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- all = input('输入数组,无需分隔符和空格')
- all = list(all)
- def myfs(*all,j=3):
- i = 0
- for each in all:
- i += each
- print(i)
- if int(all[len(all) - 1]) == 5:
- i *= 5
- print(all[len(all) - 1])
- else:
- i *= j
-
- myfs()
复制代码
课后作业的题目
0. 编写一个符合以下要求的函数:
计算打印所有参数的和乘以基数(base=3)的结果(比如 mFun(1, 2, 3, 4, 5) 的结果为 45)
如果参数中最后一个参数为(base=5),则设定基数为 5,基数不参与计算(比如 mFun(1, 2, 3, 4, 5, base=5) 的结果为 75)。
https://fishc.com.cn/forum.php?m ... peid%26typeid%3D398
我暂时没看答案,但感觉自己写的流程没错,不知道错在哪里
本帖最后由 jackz007 于 2022-7-1 12:43 编辑
最大的问题就是没有把概念整明白!
- def myfs(* par , base = 3): # 命名可选参数 base 的默认值为 3,就是说,如果调用函数的时候不特别指定,base 的值就是 3
- return sum(par) * base
- print(myfs(1 , 2 , 3 , 4 , 5)) # 唯一区别是:base = 3 ,myfs() 的命名可选参数必须以 base = 为前导的形式给出
- print(myfs(1 , 2 , 3 , 4 , 5 , base = 5)) # 唯一区别是:base = 5 ,myfs() 的命名可选参数必须以 base = 为前导的形式给出
- all = input('输入数组,无需分隔符和空格: ')
- all = 'myfs(' + all . strip() + ')'
- print(eval(all)) # 以键盘输入为参数,命名可选参数 base = 3(缺省值) 调用函数 myfs()
- all = 'myfs(' + all . strip() + ' , base = 5)'
- print(eval(all)) # 以键盘输入为参数,命名可选参数 base = 5 调用函数 myfs()
复制代码
运行实况:
- D:\[00.Exercise]\[Python]\test>python x.py
- 45
- 75
- 输入数组,无需分隔符和空格: 1,2,3,4,5,6,7,8
- 108
- 540
- D:\[00.Exercise]\[Python]\test>
复制代码
|
|