ai_member_xiaobian/tmp/U26L4_order_check.py
2026-06-18 08:10:01 +08:00

89 lines
2.8 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 检查每个知识点的"首次输出前是否有至少1次输入"
# 以及连续中互动问题
print("=" * 60)
print("输入→输出顺序检查")
print("=" * 60)
# 首次输入行号 vs 首次输出行号
first_input = {
'seventy': 29,
'eighty': 20,
'help': 43,
'use': 45,
'We can use': None, # NPC没有说过完整句型
'That helps a lot': 49,
}
first_output = {
'seventy': 79,
'eighty': 21,
'help': 53,
'use': 55,
'We can use': 76,
'That helps a lot': 68,
}
for kp in first_input:
inp = first_input[kp]
out = first_output[kp]
if inp is None:
print(f"⚠️ {kp}: NPC从未输入过完整句型User行{out}就输出了")
elif out < inp:
print(f"{kp}: 输出(行{out})在输入(行{inp})之前!")
else:
print(f"{kp}: 输入(行{inp}) → 输出(行{out}) 顺序正确")
# 检查连续互动(相邻两行都是互动)
print("\n" + "=" * 60)
print("连续互动检查")
print("=" * 60)
all_types = [
(21, '互动'), (22, 'TL'), # TL紧跟互动
(53, '互动'), (54, 'TL'), (55, '互动'), # 互动-TL-互动
(63, '互动'), (64, 'TL'),
(68, '互动'), (69, 'TL'),
(76, '互动'), (77, 'TL'), (78, 'TL'), (79, '互动'),
(98, '互动'), (99, 'TL'),
(105, '互动'), (106, 'TL'), (107, 'TL'), (108, '互动'),
(128, '互动'), (129, 'TL'),
(137, '核心互动'),
(141, '互动'), (142, 'TL'),
(146, '互动'), (147, 'TL'),
(171, '互动'), (172, 'TL'),
]
# 简化逐一检查互动行之间是否有TL隔开
interact_lines = [line for line, t in all_types if t in ('互动', '核心互动')]
for i in range(len(interact_lines)-1):
if interact_lines[i+1] - interact_lines[i] <= 2:
# 检查中间是否只有1行TL
gap = interact_lines[i+1] - interact_lines[i]
if gap == 1:
print(f"⚠️ 行{interact_lines[i]}和行{interact_lines[i+1]}: 连续互动中间无TL隔开")
elif gap == 2:
print(f"{interact_lines[i]}和行{interact_lines[i+1]}: 仅隔1行TL")
# 检查help输出是否过多
print("\n" + "=" * 60)
print("help输出过多分析6次标准2-3次")
print("=" * 60)
help_outputs = [
(53, "Can you help Bingo?"),
(63, "I can help to make it!"),
(68, "Wow! That helps a lot!"), # 这里help是句型的一部分
(108, "That helps a lot!"), # 同上
(128, "Let me help you!"),
(171, "That helps a lot, Bingo!"), # 同上
]
print("其中3次是句型'That helps a lot'的组成部分:")
print(" 行68, 行108, 行171")
print("纯help动词输出行53, 行63, 行128 = 3次")
print("如果句型中的help不重复计数则help单词输出3次 ✅")
print("但如果教研统计会合并计数则6次 ⚠️ 偏多")