合法性判定和胜负判定
「101 不合法」和「猜满 7 次算输」都是判定。它们的区别是【0】。
judge 对五个数的判决
秘密 73。看 judge 对边上和两头的数怎么说: def judge(secret, n): if n > secret: return "大了" if n < secre
补全:写出 judge
补全 judge:比秘密大回「大了」,小回「小了」,相等回「对了」。
补全:猜中就结束
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、score 算分。秘密固定是 73。) 下面的 step 只记次数、不判胜负。补全:judge 回「对了」时把 won 和 over 都设
补全:次数用满就结束
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、score 算分。秘密固定是 73。) 这次玩家一直猜不中。补全 step:猜中、或 tries 达到 LIMIT,over 都为 Tru
补全:结束之后不再收猜测
(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 这次循环不在 over 时 break,而是把每一行都交给 step。补全
猜完一次还有什么该变
秘密 73,玩家猜 50,程序回「小了」。除了 tries 加一,这一回合还有一个值得更新的状态是【0】。
为什么要记范围
不记范围,会猜到排除过的地方 猜了一次:小了 又猜进了排除过的那一段 程序额外记着 low 和 high,好处是【0】。
更新放在哪一层
更新 tries、low、high 的代码写在 step 里,而不是散在主循环里。好处是【0】。
范围一步步缩
不记范围,会猜到排除过的地方 猜了一次:小了 又猜进了排除过的那一段 (每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 参考对