轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
交付:五条验收条款一起过
👁️ 1 人浏览
💬 0 人评论
❤️ 添加收藏
最后一步:请把这条路线的五个结论各写成一条能重跑的验收条款。
提交你的答案
请登录后提交答案。
去登录
← 第四步:确认老形状没被影响
命令式和声明式,差别在哪 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
class Shape: def area(self): raise NotImplementedError class Rect(Shape): def __init__(self, w, h): self.w, self.h = w, h def area(self): return self.w * self.h class Square(Shape): def __init__(self, s): self.s = s def area(self): return self.s ** 2 class Tri(Shape): def __init__(self, b, h): self.b, self.h = b, h def area(self): return self.b * self.h // 2 class Formatter: def render(self, shape): return "面积=" + str(shape.area()) class Store: def __init__(self): self.box = [] def save(self, text): self.box.append(text) class Reporter: def __init__(self, fmt, store): self.fmt, self.store = fmt, store def report(self, shape): self.store.save(self.fmt.render(shape)) ALL = [Rect(3, 4), Square(5), Tri(6, 5)] class Circle(Shape): def __init__(self, r): self.r = r def area(self): return 3 * self.r * self.r class FakeStore: def __init__(self): self.count = 0 def save(self, text): self.count += 1 # 五条验收条款 c1 = [s.area() for s in ALL] == [12, 25, 15] # 零件各自算得对 f = FakeStore() r = Reporter(Formatter(), f) for s in ALL: r.report(s) c2 = (f.count == 3) # 组装层每个都交出去了 # TODO: c3:加了 Circle 之后老形状结果不变 c3 = None # TODO: c4:Circle 自己也算得对(半径 2 → 12) c4 = None # TODO: c5:前四条全部成立 c5 = None print("/".join("过" if x else "不过" for x in (c1, c2, c3, c4, c5)))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论