python函数与代码复用

某公司以一定的策略投资一支股票,每天都会投入一定的资金用于购买股票,其策略为:在周一的时候投入1万块钱。从周二到周日,每天都比前一天多投入1万块钱。在接下来每一个周一,都会比前一个周一多投入1万块钱。
要求:使用函数,实现对于任意输入的正整数n,能够得到在第n天结束的时候该公司在该股票上总共投入了多少钱。

def total_investment(n):
    monday_investment = (n // 7 + 1) * 10000
    other_investment = (n // 7) * (n // 7 + 1) // 2 * 6 * 10000
    total = monday_investment + other_investment
    return total
n = int(input("请输入天数:"))
total = total_investment(n)
print("在第%d天结束的时候该公司在该股票上总共投入了%d元。" % (n, total))

。。。多少做做验算吧。

def counts():
     n = int(input('请输入正整数n '))
     weeks,days = int(n/7)+1 , n % 7
     ### 观察规律,第一周周一 1 ,第一周周二 2  。。。。第一周 周末 7 ,第二周周一 2 。。。8
     if  n <= 7 :
         return n,int(sum(range(1,n+1)))
     else :
        weeks_before = 0
        for i in range(1,weeks):
            weeks_before += (i+i+6)*3.5
        return n,int(weeks_before+sum(range(weeks,weeks+days)))
n , result=counts()
print('在第{}天,公司总共投入了{}万元'.format(n,result))

img

img


def investment(n):
    total = 0  # 初始总投资为0
    week_start = 1  # 初始为第一周的第一天
    week_total = 0  # 每周的总投资初始为0
    day_budget = 10000  # 每天投入的预算,初始为1万
    for day in range(1, n+1):
        week_total += day_budget
        total += day_budget
        if day % 7 == 0:  # 如果当前是周一
            total += (week_total - day_budget)  # 加上本周之前的累计投资(不算本周)
            week_total = 0  # 重置本周的累计投资
            day_budget += 10000  # 每个星期一,每天投入的预算增加1万
    return total
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7413494
  • 这篇博客也不错, 你可以看下python爬楼梯动态规划算法,每次只能爬1,2,3阶,共n阶,输出具体所有组合方式,不是返回int值
  • 除此之外, 这篇博客: python 接口自动化测试-----常见面试题汇总中的 10、请问你们公司是如何做接口测试的? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 答: 接口测试实际跟一般测试不同就是测试用例的设计部分。 ①获取接口规范。
    ②设计接口测试功能用例(主要从用户角度出发看接口能否实现业务需求,用例设计就是黑 盒用例那一套)。
    ③各种入参验证(正常情况,异常情况包括输入参数个数不对,类型不对,可选/必选,还 有考虑参数有互斥或关联的情况)。
    ④接口返回值各种验证(符合接口文档需求)
    ⑤了解接口实现逻辑,实现逻辑覆盖(语句/条件/分支/判定/…)
    ⑥接口能并发执行吗、安全吗,性能满足要求吗?
    ⑦采用工具或者自写代码来验证。
    ⑧发现问题跟功能测试一样,该报 bug 报 bug,该跟踪状态的跟踪状态。