Python禁用readlines基于文件指针查询最早签到客户的代码修复
符合校验规则的customer_first函数修复方案
原代码因调用被禁的readlines触发校验失败,同时需满足禁用for循环、禁用open/close/input/print等约束,修复逻辑如下:
- 移除被禁的
fh.readlines()调用,改用未在禁限列表中的fh.readline()逐行读取文件 - 调整循环逻辑:先读取首行,通过while判断是否读到文件末尾(读到空字符串即终止),逐行处理后再读取下一行
- 保留原有日期比较逻辑,确保正确定位最早签到时间的客户
修复后代码
def customer_first(fh): """从已打开的文件对象fh中查找签到时间最早的客户记录""" record = None line = fh.readline() while line: values = line.rstrip('\n').split(',') if record is None or values[4] < record[4]: record = values line = fh.readline() return record
校验符合性说明
- 未调用禁限的
readlines,该项校验可通过 - 全程使用while循环,无for循环,符合for循环禁用要求
- 无open、close、input、print调用,对应校验项均通过
- 函数名、参数格式、docstring均符合要求
- 运行后可正确返回预期结果
['43564', 'Weilin', 'Zhao', '450.25', '1998-01-03']
内容的提问来源于stack exchange,提问作者Lubna Al-Rifaie
相关产品推荐
相关产品推荐

