文件:一个任务课后题3
3. 呃,不得不说我们的用户变得越来越刁钻了。要求在上一题的基础上扩展,用户可以随意输入需要显示的行数。(如输入13:21打印第13行到第21行,输入:21打印前21行,输入21:则打印从第21行开始到文件结尾所有内容)里面有这样几句:
for i in range(start - 1):
f.readline() ##读取一整行的字符串
num = end - start +1
if num <0:
print(f.read()) ##读取字符串
else:
for i in range(num): ###读取前num行,num=3,则读取前三行。
print(f.readline())
f.close()
请问这几句是怎么实现打印确定行的。。看着好乱啊
建议代码附完整,之后问题时候在截取部分 楼上说的很对。不是所有人都知道你所说的是什么问题的。很多人没有看小甲鱼的视频课程,有的人即使看了,时间久了可能也忘记这个题目了。以后提问,请说清楚题目和问题。能够吸引更多的人来回答,否则就只能等更好知道这个题目的人回答了。
这个题目,刚好我还没忘记。
这几行代码之前已经确定 start 和 end 的值了
第一个for循环,是读取start之前的行,但是读取之后没有其他操作,相当于是移动文件光标到需要显示的那一行。
例如:start=1,那么这个for循环则不会执行,因为start-1=0,不会进入for循环,光标仍然停在文件首行起始位置
start=5,那么这个循环就会先读取4行,光标会停在第5行起始位置,在后面再次进行读取的时候,读到的就是第5行了。
num = end - start +1这一行代码是计算要显示多少行
若num<0,说明end=-1,也就是要读到末尾,那么就直接用f.read()直接读到末尾了。也就是接下来的if语句块
若num>0,说明end大于start,那么else中的for循环就是读取接下来的num行,并print sunrise085 发表于 2020-7-15 16:06
楼上说的很对。不是所有人都知道你所说的是什么问题的。很多人没有看小甲鱼的视频课程,有的人即使看了,时 ...
谢谢啦,,下次会注意的
页:
[1]