补全:写出 record

(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 补全 record(rec, st):局数加一、赢了 wins 加一、总分累

开始练习 →

补全:把记录写成文本再读回

(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 真机上记录会追加进文件,每局一行「第N局 S分」。这里在内存里模拟:补全 d

开始练习 →

为什么把逻辑和输入输出分开

把 judge、step 这些函数和 print、input 分开放,最大的好处是【0】。

开始练习 →

哪件事属于输入输出层

下面四件事里,属于「输入输出层」而不是「逻辑层」的是【0】。

开始练习 →

把状态拼成一句提示

(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) render 属于输出层:只把状态拼成一句话,不改任何东西。看参考对局最后一

开始练习 →

补全:写出 render

(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 补全 render(st, msg):拼成「提示(第N次,还剩M次)」。输出

开始练习 →

补全:先攒着,最后再输出

(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 补全 run(secret, lines):走完一局,把每一句 render

开始练习 →

补全:把读和写做成可替换的

(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) io_play(secret, read, write) 不认识键盘和屏幕,

开始练习 →

补全:只测逻辑层

(每道题开头都有同一段游戏核心:new_round 开一局、parse 校验输入、judge 比大小、step 记一次猜测、score 算分。秘密固定是 73。) 逻辑层不碰 I/O,所以能直接断言。补全三条检查:judge(73, 75)

开始练习 →

重开一局要做什么

玩家输入 r 表示重开。程序该做的是【0】。

开始练习 →