鱼C论坛

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

[已解决]第029讲动动手02题

[复制链接]
发表于 2020-2-23 12:33:57 | 显示全部楼层 |阅读模式

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

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

x
题目要求:2. 编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上,程序实现如图:
我的代码:
def file(file_name,line_name):
    print('文件',file_name,'前',line_name,'行的内容如下')
    f=open(file_name)
    A=(list(f))
    L=len(A)
    for i in range(L):
        print(f.readline(), end= '')

    f.close()
file_name=input('请输入文件名')
line_name=input('请输入显示行数')
file(file_name,line_name)

但每次运行都是空的,大佬们看看是哪里有问题呀?
最佳答案
2020-2-23 12:54:19
list(f) 已转成list 何必再 f.readline()???? list(f)后指针就已针指向尾了。
以是list那就直接对list操作不更好?
  1. def file(file_name,line_name):
  2.     print('文件',file_name,'前',line_name,'行的内容如下')
  3.     f=open(file_name)
  4.     A=list(f)
  5.     f.close()
  6.     for i, s in enumerate(A):
  7.         print(i , s)
  8.         if i==int(line_name)-1:
  9.             break

  10.    
  11. file_name=input('请输入文件名')
  12. line_name=input('请输入显示行数')
  13. file(file_name,line_name)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-23 12:50:58 | 显示全部楼层
    for i in range(L):
        print(f.readline(), end= '')
改为
    for i in range(L):
        print(A, end= '')
这步(A=(list(f)))已经读到文件尾了
再readline就没有内容了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2020-2-23 12:54:19 | 显示全部楼层    本楼为最佳答案   
list(f) 已转成list 何必再 f.readline()???? list(f)后指针就已针指向尾了。
以是list那就直接对list操作不更好?
  1. def file(file_name,line_name):
  2.     print('文件',file_name,'前',line_name,'行的内容如下')
  3.     f=open(file_name)
  4.     A=list(f)
  5.     f.close()
  6.     for i, s in enumerate(A):
  7.         print(i , s)
  8.         if i==int(line_name)-1:
  9.             break

  10.    
  11. file_name=input('请输入文件名')
  12. line_name=input('请输入显示行数')
  13. file(file_name,line_name)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-23 13:10:46 | 显示全部楼层
冬雪雪冬 发表于 2020-2-23 12:50
for i in range(L):
        print(f.readline(), end= '')
改为

哦哦,原来是这样,我之前就是这个针指还不清楚,谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-2 19:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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