轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
🔴 加一个新形状,两种写法各要改几处
👁️ 1 人浏览
💬 0 人评论
❤️ 添加收藏
上面三个函数里各有一串
if/elif
。现在要加第四种形状。
数一数两种写法各要动多少处老代码。
提交你的答案
请登录后提交答案。
去登录
← 自己写:让两个子类各自实现 area
⚠️ 换写法之前,先证明两边等价 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
def area_of(s): if s["kind"] == "rect": return s["w"] * s["h"] elif s["kind"] == "square": return s["side"] ** 2 elif s["kind"] == "tri": return s["base"] * s["height"] // 2 return 0 def name_of(s): if s["kind"] == "rect": return "长方形" elif s["kind"] == "square": return "正方形" elif s["kind"] == "tri": return "三角形" return "?" def sides_of(s): if s["kind"] == "rect": return 4 elif s["kind"] == "square": return 4 elif s["kind"] == "tri": return 3 return 0 DICTS = [{"kind": "rect", "w": 3, "h": 4}, {"kind": "square", "side": 5}, {"kind": "tri", "base": 6, "height": 5}] # 这三个函数里各有一串 if/elif。现在要加第四种形状"圆"。 FUNCS = [area_of, name_of, sides_of] # TODO: 用 if/elif 那一版,要加一个新形状得动几个函数 if_touch = -1 # TODO: 用多态那一版(加一个新类),老代码要改几处 poly_touch = -1 print(str(if_touch) + "/" + str(poly_touch))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论