鱼C论坛

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

[已解决]第29讲课后练习3

[复制链接]
发表于 2018-4-10 10:22:47 | 显示全部楼层 |阅读模式

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

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

x
求第29讲课后练习3的代码,小甲鱼写的有点看不懂。
各位有比较好的代码嘛
最佳答案
2018-4-10 12:52:16
这是我自己写的,你看看行不行
def print_any_file(file_name,num1,num2):
    f1 = open(file_name)
    sub = f1.readlines()
    length = len(sub)
    f1.close()
    if num1 == '' and num2 == '':
        print('文件%s的全文如下:' % file_name)
        for i in range(length):
            print(sub[i])
    else:
        if num1 == '':
            num2 = int(num2)
            print('文件%s从开始到%d行内容如下:' % (file_name, num2))
            for i in range(num2):
                print(sub[i])
        else:
            if num2 == '':
                num1 = int(num1)
                print('文件%s从%d行到结束内容如下:' % (file_name, num1))
                for i in range(num1,length+1):
                    print(sub[i-1])
            else:
                if num1 != 0 and num2 != 0:
                    if int(num2) > length:
                        num2 = length
                        num1 = int(num1)
                        num2 = int(num2)
                        print('文件%s从%d行到%d行内容如下:' % (file_name, num1,num2))
                        for i in range(num1,num2 + 1):
                            print(sub[i-1])


file_name = input('请输入要打开的文件:')
number = str(input('请输入需要显示的行数【格式如 13:21或 :21 或 21:】:'))
num = number.split(':',1)
num1 = num[0]
num2 = num[1]
print_any_file(file_name,num1,num2)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-10 12:31:46 From FishC Mobile | 显示全部楼层
我也在看这里,加个好友呗,讨论讨论
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-10 12:52:16 | 显示全部楼层    本楼为最佳答案   
这是我自己写的,你看看行不行
def print_any_file(file_name,num1,num2):
    f1 = open(file_name)
    sub = f1.readlines()
    length = len(sub)
    f1.close()
    if num1 == '' and num2 == '':
        print('文件%s的全文如下:' % file_name)
        for i in range(length):
            print(sub[i])
    else:
        if num1 == '':
            num2 = int(num2)
            print('文件%s从开始到%d行内容如下:' % (file_name, num2))
            for i in range(num2):
                print(sub[i])
        else:
            if num2 == '':
                num1 = int(num1)
                print('文件%s从%d行到结束内容如下:' % (file_name, num1))
                for i in range(num1,length+1):
                    print(sub[i-1])
            else:
                if num1 != 0 and num2 != 0:
                    if int(num2) > length:
                        num2 = length
                        num1 = int(num1)
                        num2 = int(num2)
                        print('文件%s从%d行到%d行内容如下:' % (file_name, num1,num2))
                        for i in range(num1,num2 + 1):
                            print(sub[i-1])


file_name = input('请输入要打开的文件:')
number = str(input('请输入需要显示的行数【格式如 13:21或 :21 或 21:】:'))
num = number.split(':',1)
num1 = num[0]
num2 = num[1]
print_any_file(file_name,num1,num2)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-10 19:42:30 | 显示全部楼层
xue11 发表于 2018-4-10 12:31
我也在看这里,加个好友呗,讨论讨论

好的啊,qq吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-10 08:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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