2.1 封装函数实现如下要求,例如:输入2,5 ,则求:2 + 22+222 + 2222+22222的和

#  参考
def fz(n):
    def zy(x, y):
        sum = 0
        list = []
        for i in range(1, y+1):
            number = int(str(x) * i)
            list.append(number)
            sum += number
        print(list)
        return n(sum)
    return zy
@fz
def func(p):
    print("The result is :", p)
x = int(input("请输入 x:"))
y = int(input("请输入 y:"))
func(x, y)

# 摩登老师答案
a = int(input("请输入数字x"))  #输入要扩展的数字
b = int(input("请输入数字y"))  #输入位数
sum = 0  # 统计求和
for i in range(1,b+1):  # 利用for循环,把b传入函数zy中
    def zy(b):
        if b == 0:
            return 0
        return a*10**(b-1) +zy(b-1)
    sum += zy(b)   # 求不同时段的值
    b = b-1
print(sum)

答案

请输入 x:1
请输入 y:5
[1, 11, 111, 1111, 11111]
The result is : 12345
请输入数字x1
请输入数字y5
12345
# 摩登老师答案
a = int(input("请输入数字x"))  #输入要扩展的数字
b = int(input("请输入数字y"))  #输入位数
sum = 0  # 统计求和
for i in range(1,b+1):# 利用for循环
    if b == 0:
        return 0
    return

return报错:SyntaxError: ‘return’ outside function
原因:return只能写在def函数里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值