1.用Windows“记事本”创建一个文本文件,其中每行包含一段英文。试读出文件的全部内容,并判断:
(1)该文本文件共有多少行?
(2)文件中以大写字母P开头的有多少行?
(3)一行中包含字符最多的和包含字符最少的分别在第几行?
记事本文件为:Python.txt
内容为:
Python teacher is super beautiful! She looks so cute! My roommate Xu Mouxun liked her very much. My classmates love her.
代码为:
def hang():
#注意open函数的用法,地址可不带后缀名.txt,后缀名是自带的,前面加r可防止报错
a = open(r"D:\Each software\PyCharm 2020.1\python\爬虫-学校官网\Python.txt",'r')
#readlines读取整个文件的内容
num = a.readlines()
#len函数读取行数
b = len(num)
print(f"共有{b}行")
def P():
i = 0
# 注意open函数的用法,地址可不带后缀名.txt,后缀名是自带的,前面加r可防止报错
a = open(r"D:\Each software\PyCharm 2020.1\python\爬虫-学校官网\Python.txt", 'r')
num = a.readlines()
for k in num:
if k[0] == 'P': #判断是否以大写P开头
i += 1
print(f"以大写P开头的是第{i}行")
def mn():
j = []
a = open(r"D:\Each software\PyCharm 2020.1\python\爬虫-学校官网\Python.txt", 'r')
num = a.readlines()
for o in num:
d = len(o.strip()) #strip函数去除字符串两边的空格
j.append(d) #去除后加入到j列表中
# index索引字符最长的行
print(f"一行中字符最多的是在第{j.index(max(j))+1}行")
# index索引字符最短的行
print(f"一行中字符最少的是在第{j.index(min(j))+1}行")
hang()
P()
mn()
运行截图为:
2.编写程序统计调查间卷各评语出现的次数,将最终统计结果放入字典。
调查问卷结果:
不满意,一般,满意,一般,很满意,满意,一般,一般,不满意,满意,满意,满意,满意,一般,很满意,一般,满意,不满意,一般,不满意,满意,满意,满意,满意,满意,满意,很满意,不满意,满意,不满意,不满意,一般,很满意
要求:问卷调查结果用文本文件 result. txt保存并编写程序读取该文件后统计各评语出现的次数,将字典最终统计结果追加至result.txt文件中。
记事本result.txt内容为:
代码为:
def w(text):
text = text.replace(",", " ") #replace替换逗号为空格
text = text.split() #将内容分开
return text
try:
dic1 = {}
file = open(r'D:\Each software\PyCharm 2020.1\python\爬虫-学校官网\result.txt', 'r+', encoding='utf-8')
text = file.read()
lst = w(text)
print(f"调查问卷结果为:\n{lst}")
for i in lst:
dic1[i] = dic1.get(i, 0) + 1
for k, v in dic1.items():
s = "{}出现{}次\n".format(k, v)
write = file.write(s)
file = open(r'D:\Each software\PyCharm 2020.1\python\爬虫-学校官网\result.txt', 'r+', encoding='utf-8')
text = file.read()
print(text)
file.close
except IOError:
print("文件不存在")
运行后记事本为: