第029讲动动手02题
题目要求: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)
但每次运行都是空的,大佬们看看是哪里有问题呀? for i in range(L):
print(f.readline(), end= '')
改为
for i in range(L):
print(A, end= '')
这步(A=(list(f)))已经读到文件尾了
再readline就没有内容了 list(f) 已转成list 何必再 f.readline()???? list(f)后指针就已针指向尾了。
以是list那就直接对list操作不更好?
def file(file_name,line_name):
print('文件',file_name,'前',line_name,'行的内容如下')
f=open(file_name)
A=list(f)
f.close()
for i, s in enumerate(A):
print(i , s)
if i==int(line_name)-1:
break
file_name=input('请输入文件名')
line_name=input('请输入显示行数')
file(file_name,line_name)
冬雪雪冬 发表于 2020-2-23 12:50
for i in range(L):
print(f.readline(), end= '')
改为
哦哦,原来是这样,我之前就是这个针指还不清楚,谢谢!
页:
[1]