🔴 顺序反过来,结果差多少

👁️ 1 人浏览 💬 0 人评论 ❤️ 添加收藏

一批金额 [120, 80, 200, 150],门槛 100:留下不低于门槛的,各乘 10,再加起来。这正是 l1_basic_11 里用循环做过的那条流水线。把"过滤"和"乘 10"组合成流水线,两种顺序各跑一次:

A = [120, 80, 200, 150]
LINE = 100

def compose(f, g):
    """先做 g,再把结果交给 f"""
    return lambda x: f(g(x))

keep = lambda xs: [a for a in xs if a >= LINE]
x10  = lambda xs: [a * 10 for a in xs]

right = compose(x10, keep)     # 先过滤,再乘 10
wrong = compose(keep, x10)     # 先乘 10,再过滤
print(str(sum(right(A))) + "/" + str(sum(wrong(A))))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论