鱼C论坛

 找回密码
 立即注册
查看: 2434|回复: 12

[已解决]小甲鱼Python29讲课后习题

[复制链接]
发表于 2016-9-15 20:34:11 | 显示全部楼层 |阅读模式

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

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

x

  1.     if line_num.strip() == ":":            
  2.         begin = "1"                        
  3.         end = "-1"                        
  4.            
复制代码

有些理解不了,这段代码什么意思,在线等~
最佳答案
2016-9-15 21:02:55
就是用户可能直接输入“:”
这样的话,line_num.strip()就等于":"了
这样的话,实际上是取全部,从开始到结尾,所有内容
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-15 20:37:48 | 显示全部楼层
  1. print(line_num.strip())
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 20:43:01 | 显示全部楼层

什么意思??还是没懂,别的都明白,这段一直不明白,感觉多余
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 20:46:39 | 显示全部楼层
  1. def file_view(file_name,line_num):
  2.     if line_num.strip() == ":":            
  3.         begin = "1"                        
  4.         end = "-1"                          

  5.     (begin,end) = line_num.split(":")       #把给定的范围切开

  6.     if begin == "":                         #如果没给开始只有结尾,默认为最初
  7.         begin = "1"
  8.     if end == "":                           #如果只有结尾没有开始,默认为结尾
  9.         end = "-1"

  10.     if begin == "1" and end == "-1":        #如果为全文
  11.         prompt = "的全文"
  12.     elif begin == "1":                      #如果以第一个开始
  13.         prompt = "从开始到%s" % end
  14.     elif end == "-1":                       #如果以最后一个为结束
  15.         prompt == "从%s到结束" % begin
  16.     else:                                   #如果有索引的情况
  17.         prompt = "从第%s行到第%s行" % (begin, end)

  18.     print("\n文件%s%s的内容如下:\n" % (file_name,prompt))#输出

  19.     begin = int(begin) - 1                  #记住索引最初为0
  20.     end = int(end)                          #转化末尾的索引
  21.     lines = end - begin                     #确定开始和末尾的差距

  22.     f = open(file_name)                     #打开文件

  23.     for i in range(begin):                  ######消耗掉begin之前的
  24.         f.readline()

  25.     if lines < 0:                           #如果无法索引
  26.         print(f.read())
  27.     else:
  28.         for j in range(lines):              #按照给定的范围来索引
  29.             print(f.readline(),end = "")

  30.     f.close()                               #关闭文件

  31. file_name = input(r"请输入要打开的文件:")
  32. line_num = input("请输入需要显示的行数:")
  33. file_view(file_name,line_num)
复制代码


源代码如上,总觉得开头一段冗余,而且不明白
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-15 21:02:55 | 显示全部楼层    本楼为最佳答案   
就是用户可能直接输入“:”
这样的话,line_num.strip()就等于":"了
这样的话,实际上是取全部,从开始到结尾,所有内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 21:08:10 | 显示全部楼层
小财迷 发表于 2016-9-15 21:02
就是用户可能直接输入“:”
这样的话,line_num.strip()就等于":"了
这样的话,实际上是取全部,从开始 ...

哦哦,这样啊~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 21:09:30 | 显示全部楼层
小财迷 发表于 2016-9-15 21:02
就是用户可能直接输入“:”
这样的话,line_num.strip()就等于":"了
这样的话,实际上是取全部,从开始 ...

但是直接输入“:”会报错~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-15 21:10:40 | 显示全部楼层
我也仔细看了程序,2~4行是可以删掉的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 21:18:33 | 显示全部楼层
小财迷 发表于 2016-9-15 21:02
就是用户可能直接输入“:”
这样的话,line_num.strip()就等于":"了
这样的话,实际上是取全部,从开始 ...

知道了,全角半角的问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 21:19:54 | 显示全部楼层
冬雪雪冬 发表于 2016-9-15 21:10
我也仔细看了程序,2~4行是可以删掉的。

有用的,目的是直接输入“:”时可以输出全文
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-15 21:25:56 | 显示全部楼层
树精树蛙 发表于 2016-9-15 21:19
有用的,目的是直接输入“:”时可以输出全文

第6~11行,如果只输入:,会给begin和end赋值1和-1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-9-15 21:29:40 | 显示全部楼层
冬雪雪冬 发表于 2016-9-15 21:25
第6~11行,如果只输入:,会给begin和end赋值1和-1

也对,尝试了删除最开始的一段,也可以实现“:”输出全文
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 21:30:19 | 显示全部楼层
@小甲鱼,可不可以解释一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-22 19:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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