《课后作业第二十九讲》编程题第3小题自己写的答案
def abc():
print('请输入要打开的文件:')
name = input()
print('请输入需要显示的行数【格式如 13:21】:')
lines = input()
f = open(name)
count = 0
lst = lines.split(':', 1)
if lst != '':
num1 = int(lst)
else:
num1 = 1
if lst != '':
num2 = int(lst)
else:
for eachline in f:
count += 1
length = count
num2 = length
a = 0
for each in f:
a += 1
if num1 <= a <= num2:
print(each)
f.close()
abc()
这是我自己的答案 。可是在 输入行数 为 (2 :) 这一类型时,却没有结果返回
file:///C:/Users/li/Desktop/1.png
大写的求助!阿里嘎多! def abc():
print('请输入要打开的文件:')
name = input()
print('请输入需要显示的行数【格式如 13:21】:')
lines = input()
f = open(name)
count = 0
lst = lines.split(':', 1)
if lst != '':
num1 = int(lst)
else:
num1 = 1
if lst != '':
num2 = int(lst)
else:
for eachline in f:
count += 1
length = count
num2 = length
f.seek(0,0) #把指针移到初始位置
a = 0
for each in f:
a += 1
if num1 <= a <= num2:
print(each)
f.close()
abc()
因为你lst == '' 的时候for eachline in f:所以指针跑最后去了所以什么都没有 所以加一句f.seek(0,0) #把指针移到初始位置 就可以了 洋洋痒 发表于 2021-2-5 13:40
因为你lst == '' 的时候for eachline in f:所以指针跑最后去了所以什么都没有
妙呀{:5_109:}
页:
[1]