zoukankan      html  css  js  c++  java
  • 【作业】Python-函数封装:输入x = 2,y = 5,则求2+22+222+2222+22222

    1.1 封装函数实现如下要求

      例如:输入2,5

      则求:2 + 22+222 + 2222+22222的和

      首先我们贴上答案:

      第一次想到了一个超级笨的办法 代码如下:

    # 定义函数
    def func_sum(x, y):
        # 把x转为字符串赋值给c,方便操作
        c = str(x)
        s = 0
        # 定义一个空列表后面用来存储y项x
        list_num = []
        # 遍历y项 x,并且把它添加到列表中存储起来
        for i in range(1, y+1):
            c *= i
            list_num.append(c)
            # 这里需要把c重新复原,否则会有很多c拼接起来
            c = str(x)
        # 打印一下列表看一下是否是我们需要的列表
        print(list_num)
        for a in list_num:
            # 把提取出来的字符转转换为int型
            b = int(a)
            # 累加操作
            s += b
        # 返回最终结果
        print(s)
    
    # 调用函数
    func_sum(2, 5)

      输出如下:

     

       简要思路就是需要计算的y项依次叠加的x添加到列表里  然后再遍历列表把值取出来相加

      然后无聊的时候又看了看自己的代码,再简化一下:

    # 突然零感来了,又想到一个方法
    def get_sum(x, y):
        sum1 = 0
        c = str(x)
        for n in range(0, y):  # 0 1 2
            a = n * c + c  # n = 0 a = 3  n = 1 c =33  n = 2  a = 333
            x = int(a)
            sum1 += x  # sum1 = 3   33   333
        return sum1
    
    # 调用函数
    print(get_sum(3, 3))

      输出如下:

     待续...

  • 相关阅读:
    CF 852E--Casinos and travel(思维)
    Sigma Sigma Cnk --- CF 575H
    CF1316E-Team Building(dp+贪心)
    cf1316C--Primitive Primes
    cf1323--Count Subrectangles(思维)
    CF252B--鸽巢原理
    HDU3652--容斥+数位dp
    DP--HDU4571(Floyd+dp)
    HDU4219--Randomization?(树形概率DP)
    HDU5945--Fxx and Game dp(单调队列优化)
  • 原文地址:https://www.cnblogs.com/cxstudypython/p/11965506.html
Copyright © 2011-2022 走看看