鱼C论坛

 找回密码
 立即注册
查看: 1965|回复: 3

[已解决]课后作业

[复制链接]
发表于 2018-4-2 22:21:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def file_view(file_name, line_num):

    if line_num.strip() == ':':

        begin = '1'

        end = '-1'

        

    (begin, end) = line_num.split(':')


    if begin == '':

        begin = '1'

    if end == '':

        end = '-1'


    if begin == '1' and end == '-1':

        prompt = '的全文'

    elif begin == '1':

        prompt = '从开始到%s' % end

    elif end == '-1':

        prompt = '从%s到结束' % begin

    else:

        prompt = '从第%s行到第%s行' % (begin, end)


    print('\n文件%s%s的内容如下:\n' % (file_name, prompt))


    begin = int(begin) - 1

    end = int(end)

    lines = end - begin


    f = open(file_name)  

   
    for i in range(begin):  # 用于消耗掉begin之前的内容

        f.readline()


    if lines < 0:

        print(f.read())


    else:

        for j in range(lines):

            print(f.readline(), end='')

   
    f.close()


file_name = input(r'请输入要打开的文件(C:\\test.txt):')

line_num = input('请输入需要显示的行数【格式如 13:21 或 :21 或 21: 或 : 】:')

file_view(file_name, line_num)


甲鱼哥的答案,上面红色的代码line <0 是什么意思,end - begain<0不就是说输入4:2这样的命令么,读取从第四行到第二行的文本,但是在此之前上面的代码  
for i in range(begin):  # 用于消耗掉begin之前的内容

        f.readline()
不是说明指针已经停在第四行了么,然后接着f.read()读取剩余全文?是这个意思吗?
如有错理解错误还请大神帮忙指正,顺便帮忙解释一下lines < 0 是什么意思
非常感谢!
最佳答案
2018-4-2 22:31:36
那是end为-1的情况,题目已经限定了不会输入起行数比结尾大的情况
-1就是直到结尾
所以读到结尾
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-2 22:31:36 | 显示全部楼层    本楼为最佳答案   
那是end为-1的情况,题目已经限定了不会输入起行数比结尾大的情况
-1就是直到结尾
所以读到结尾
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-3 17:54:34 | 显示全部楼层
塔利班 发表于 2018-4-2 22:31
那是end为-1的情况,题目已经限定了不会输入起行数比结尾大的情况
-1就是直到结尾
所以读到结尾

可以说一下是哪一行代码吗,我没找到这个这个限定条件哎,灰常感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-3 18:37:47 | 显示全部楼层
我叫枫剑 发表于 2018-4-3 17:54
可以说一下是哪一行代码吗,我没找到这个这个限定条件哎,灰常感谢

不是函数限定的,是题目和你的Input里都写了,没有start在end后边的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-1 02:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表