轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
⚠️ 从冲突到可提交,完整走一遍
👁️ 3 人浏览
💬 0 人评论
❤️ 添加收藏
把整个流程串起来,
输出三样
:带标记的行数 / 解决后的行数 / 解决并 add 之后能不能提交。
提交你的答案
请登录后提交答案。
去登录
← ⚠️ 三种状态各判一次
减少冲突最管用的一条 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
base = ['HOST = "localhost"', 'PORT = 8000', 'DEBUG = False', 'TIMEOUT = 30', 'RETRY = 1', 'LOG = "app.log"'] ours = ['HOST = "localhost"', 'PORT = 8080', 'DEBUG = True', 'TIMEOUT = 60', 'RETRY = 1', 'LOG = "main.log"'] theirs = ['HOST = "0.0.0.0"', 'PORT = 9000', 'DEBUG = True', 'TIMEOUT = 30', 'RETRY = 3', 'LOG = "sys.log"'] def classify(b, o, t): # TODO: 两边一样 → same;我方没改 → theirs;对方没改 → ours;剩下的 → conflict return "" def merge3(base, ours, theirs): # TODO: 逐行判断:conflict → 依次放 <<<<<<< ours / o / ======= / t / >>>>>>> theirs # TODO: theirs → 放 t;其余 → 放 o return [] def is_marker(line): # TODO: 三种标记行都要算上:<<<<<<< / ======= / >>>>>>>(现在只认了一种) return line.startswith("<<<<<<<") def resolve(merged, take): # TODO: 遇到 <<<<<<< 就找出 ======= 和 >>>>>>> 的位置 # TODO: take 为 "ours" 取上半段、"theirs" 取下半段、"both" 两段都留;三行标记都不要 # TODO: 不是冲突块的行照原样放进去(现在是整份原样交回,什么都没解决) return list(merged) def can_commit(lines, staged): # TODO: 只要有一行是标记行就返回 False;否则取决于 staged return None m = merge3(base, ours, theirs) r = resolve(m, "theirs") print(str(len(m)) + "/" + str(len(r)) + "/" + str(can_commit(r, True)))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论