|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
0. 编写一个符合以下要求的函数:
a) 计算打印所有参数的和乘以基数(base=3)的结果
b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算
这是我自己理解写的
def mysune(*bf):
mimi = 0
for i in bf:
mimi += i
if bf[-1] == 5:
base = 5
else:
base = 3
mimi *= base
print('结果是:',mimi)
mysune(str(input('请输入您的参数:')))
运行后输入(报错):
请输入您的参数:1,2,3,4,5
Traceback (most recent call last):
File "D:/Python/9-12/1.py", line 11, in <module>
mysune(str(input('请输入您的参数:')))
File "D:/Python/9-12/1.py", line 4, in mysune
mimi += i
TypeError: unsupported operand type(s) for +=: 'int' and 'str'
问:mysune(1,2,3,4,5)输入可以,为什么我这样输入会错?有没有办法实现我这种输入?!
按你的要求split应该可以解决
def mysune(bf):
mimi = 0
bbf = bf.split(',')
for i in bbf:
mimi += int(i)
if int(bbf[-1]) == 5:
base = 5
else:
base = 3
mimi *= base
print('结果是:',mimi)
mysune(str(input('请输入您的参数:')))
|
|