鱼C论坛

 找回密码
 立即注册
查看: 946|回复: 14

029讲第三题的问题!

[复制链接]
发表于 2019-1-17 13:41:34 | 显示全部楼层 |阅读模式

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

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

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'
请问前三段代码的意义是什么,我感觉和后面几段执行效果是一样的,我试着把前三段代码去掉执行效果没什么区别呀!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-17 13:43:57 | 显示全部楼层
为了满足题意,试试输入 :
12:
:23
等等形式
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-17 14:03:07 | 显示全部楼层
  if line_num.strip() == ':':              默认不输入是读取全文。


XX代表用户输入的行数:

if begin == '':          从第一行到XX行;

if end == '':            从XX行到最后一行;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-17 14:39:59 | 显示全部楼层
BngThea 发表于 2019-1-17 13:43
为了满足题意,试试输入 :
12:
:23

我把前三行代码删了,试了你说的结果也是一样。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-17 14:42:12 | 显示全部楼层
heidern0612 发表于 2019-1-17 14:03
if line_num.strip() == ':':              默认不输入是读取全文。

还是不明白!我感觉前三行代码和后5行代码是一样的。我把前三行删除以后执行结果是一样的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-17 14:47:46 | 显示全部楼层
他们理解错了,是为了打印[:]全部切片而使用的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-17 15:00:27 | 显示全部楼层
瑁怕瑁 发表于 2019-1-17 14:39
我把前三行代码删了,试了你说的结果也是一样。

你试了输入冒号吗?
:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-17 16:00:06 | 显示全部楼层
BngThea 发表于 2019-1-17 15:00
你试了输入冒号吗?
:

试了的,运行结果一样的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-17 16:01:06 | 显示全部楼层
塔利班 发表于 2019-1-17 14:47
他们理解错了,是为了打印[:]全部切片而使用的

可以说得清楚点吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-17 16:03:11 | 显示全部楼层
瑁怕瑁 发表于 2019-1-17 16:01
可以说得清楚点吗?

和列表切片一样 :前后没数字不就是让你打印全部内容么,你试着删了输入还能不能出来,如果还可以的话,那是你没有发出来的部分代码给涵盖了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-17 16:38:28 | 显示全部楼层
塔利班 发表于 2019-1-17 16:03
和列表切片一样 :前后没数字不就是让你打印全部内容么,你试着删了输入还能不能出来,如果还可以的话, ...

还是不懂!有前面三行和没有的运行结果不是一样的吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-17 16:45:21 | 显示全部楼层
瑁怕瑁 发表于 2019-1-17 16:38
还是不懂!有前面三行和没有的运行结果不是一样的吗?

你全部代码发出来,还有你光输入冒号的结果发出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-17 21:19:02 | 显示全部楼层
塔利班 发表于 2019-1-17 16:45
你全部代码发出来,还有你光输入冒号的结果发出来

01.def file_view(file_name, line_num):

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

03.        begin = '1'

04.        end = '-1'

05.        

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

07.

08.    if begin == '':

09.        begin = '1'

10.    if end == '':

11.        end = '-1'

12.

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

14.        prompt = '的全文'

15.    elif begin == '1':

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

17.    elif end == '-1':

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

19.    else:

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

21.

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

23.

24.    begin = int(begin) - 1

25.    end = int(end)

26.    lines = end - begin

27.

28.    f = open(file_name)  

29.   

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

31.        f.readline()

32.

33.    if lines < 0:

34.        print(f.read())

35.    else:

36.        for j in range(lines):

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

38.   

39.    f.close()

40.

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

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

43.file_view(file_name, line_num)

我把前三行代码删除得到的结果:
请输入要打开的文件(C:\\test.txt):F:\\record.txt
请输入需要显示的行数【格式如 13:21 或 :21 或 21: 或 : 】::

文件F:\\record.txt的全文的内容如下:

小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦??
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。。
小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~"
小甲鱼:然后呢?
小客服:她买了两个,说发一个货就好~
小甲鱼:呃。。。。。。你真牛!
小客服:那是,谁让我是鱼C最可爱小客服嘛~
小甲鱼:下次有人想调戏你我不阻止~
小客服:滚!!!
================================================================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦?
小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~"
小甲鱼:哈哈哈,我看到丫,我还发微博了呢~
小客服:嗯嗯,我看了你的微博丫~
小甲鱼:哟西~
小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^”
小甲鱼:T_T
================================================================================
小客服:小甲鱼,今天一个会员想找你
小甲鱼:哦?什么事?
小客服:他说你一个学生月薪已经超过12k了!!
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-17 21:57:36 | 显示全部楼层
瑁怕瑁 发表于 2019-1-17 21:19
01.def file_view(file_name, line_num):

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

是,是没事,后面几行能保证
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-17 22:38:03 | 显示全部楼层
塔利班 发表于 2019-1-17 21:57
是,是没事,后面几行能保证

既然结果都一样,那小甲鱼为什么要多写前面三行。我就是这点想不明白。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 11:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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