【零基础】Python3学习课后练习题(二十六)
2018-10-21 11:16
375 查看
版权声明:未经授权请勿转载,否则需承担相应法律责任。 https://blog.csdn.net/RonyLance/article/details/82966372
本文是跟着鱼C论坛小甲鱼零基础学习Python3的视频学习的,课后题也是跟随每一课所附属的题目来做的,根据自己的理解和标准答案记录的笔记。
第二十九课
动动手:
0.编写一个程序,接受用户的输入并保存为新的文件,程序实现如图:
答:
[code]def file_write(file_name): print("请输入内容【单独输入':w'保存退出】:") new_file = open(file_name,'w') while True: neirong = input() if neirong != ':w': new_file.write('%s\n' % neirong) else: break new_file.close file_name = input('请输入文件名:') file_write(file_name)
1.编写一个程序,比较用户输入的两个文件,如果不同,显示所有不同处的行号与第一个不同字符的位置,程序实现如图:
答:
[code]def file_compare(file_name_1,file_name_2): file_1 = open(file_name_1,'r') file_2 = open(file_name_2,'r') count = 0 different = [] for each_line in file_1.readline(): if each_line == file_2.readline(): count += 1 else: different.append(count) file_1.close() file_2.close() return different file_name_1 = input('请输入需要比较的第一个文件名:') file_name_2 = input('请输入需要比较的第二个文件名:') file_compare(file_name_1,file_name_2) if len(different) == 0: print('两个文件完全一样') else: print('两个文件有【%d】处不一样' % len(different)) for each in different: print('第%d行不一样' % each)
2.编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行中内容打印到屏幕上,程序实现如图:
答:
[code]def file_print(file, num): f = open(file) print('''文件%s的前%d行的内容如下:''' % (file, num)) for i in range(num): print(f.readline()) f.close() file_name = input('请输入要打开的文件(C:\\test.txt):') num = int(input('请输入需要显示该文件前几行:')) file_print(file_name, num)
3.呃,不得不说我们的用户越来越来刁钻了。要求在上一题的基础上扩展,用户可以随意输入需要显示的行数。(如输入13:21打印13行到21行,输入:21打印前21行,输入21:就打印从21行开始到文件结尾左右内容)
答:
[code]def file_print(file, paragraph): (start, end) = paragraph.split(':') if start == '': start = 1 else: start = int(start) if end == '': end = -1 else: end = int(end) f = open(file) if start == 1: if end == -1: print('''文件%s的从开头到结束的内容如下:''' % file) else: print('''文件%s的从开头到第%d行的内容如下:''' % (file, end)) else: if end == -1: print('''文件%s的从%d行到结束的内容如下:''' % (file, start)) else: print('''文件%s的从第%d行到第%d行的内容如下:''' % (file, start, end)) for i in range(start - 1): f.readline() num = end - start + 1 if num < 0: print(f.read()) else: for i in range(num): print(f.readline()) f.close() file_name = input(r'请输入要打开的文件(C:\\test.txt):') paragraph = input('请输入需要显示的行数【格式如13:21或:21或21:】:') while paragraph == '': paragraph = input('输入有误,请重新输入:') file_print(file_name, paragraph)
4.编写一个程序,实现“全部替换”功能,程序实现如图
答:
[code]def file_replace(file_name, rep_word, new_word): f_read = open(file_name) content = [] count = 0 for each_line in f_read: if rep_word in each_line: count += each_line.count(rep_word) # count感觉应该用这个 each_line = each_line.replace(rep_word, new_word) content.append(each_line) decide = input('\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【YES/NO】:' \ % (file_name, count, rep_word, rep_word, new_word)) if decide in ['YES', 'Yes', 'yes']: f_write = open(file_name, 'w') f_write.writelines(content) f_write.close() f_read.close() file_name = input('请输入文件名:') rep_word = input('请输入需要替换的单词或字符:') new_word = input('请输入新的单词或字符:') file_replace(file_name, rep_word, new_word)
阅读更多
相关文章推荐
- 【零基础】Python3学习课后练习题(二十七)
- 【零基础入门学习Python笔记002】用Python设计第一个游戏:课后测试集答案
- 【零基础入门学习Python笔记001】我和Poyhon的第一次亲密接触:课后测试集答案
- 【鱼C·零基础入门学习Python】课后习题答案 第14课
- Python 数据挖掘与机器学习基础-韦玮-专题视频课程
- python基础学习-8(浅拷贝与深拷贝)
- Python基础学习之函数(1)
- Python基础学习笔记二
- python基础学习之字符串
- 零基础入门学习Python(3):数据类型
- python 第六篇 基础练习题 乘客打的费用计算
- Python学习总结之一 -- 基础篇
- python基础学习七: 迭代
- Python基础学习路线
- Python基础学习
- python3基础学习(一)
- Python学习-1天--基础操作
- python 学习笔记之基础知识总结
- Python新手学习基础之循环结构练习
- python基础学习——第一天