data.txt中保存有若干个单词,每个单词一行。请编写一个程序从文件中将所有单词读出,找到其中最长的单词,然后将其保存到result.txt中,程序须保存test.py中。注意:题目不要求去重,重复出现的单词算不同的单词。
data0 | data1 | data2 | data3 | data4 |
li | li | m | li | li |
wang | wang | wang | wang | |
zhang | zhang | zhang | zhang | |
jin | jin | jin | xiang | |
xiang | xiang | yue yunpeng | ||
masanli | masanli | |||
guo degangr | ||||
masanli | masanli | hong | ||
hong | xiang | |||
xiang |
data0.txt的结果如下:
The longest word is: zhang
data1.txt的结果如下:
The longest words are: masanli,masanhe
data2.txt的结果如下:
The longest word is: m
data3.txt的结果如下:
The longest words are: masanli,masanli
data4.txt的结果如下:
The longest words are: yue yunpeng,guo degangr
代码实现:
a=[]
b=[]
c=[]
with open('data.txt','r') as fp: #读取文本文件文件
txt=fp.readlines() #把文本文件中的每行文件作为一个字符串存入txt列表中
for i in range(len(txt)):
txt[i]=txt[i].strip() #删除当前字符串两端的空白字符
a.append(len(txt[i])) #将删除空白字符后的字符串追加到列表a中
for i in txt:
if i!='':
b.append(i) #若字符串不为空则将其存放到列表b中
m=b[0]
for i in b:
if len(i)>len(m):
m=i
n=len(m) #遍历查找列表中的最长元素
for i in b:
if len(i)==n:
c.append(i) #遍历查找所有与最长元素等长的字符串,将所有合法
#字符串存入列表c中
with open('result.txt','w') as fp:
if len(c)==1:
fp.write('The longest word is: {0}'.format(c[0])) #满足条件的字符串只有一个
else:
d=','.join(c)
fp.write('The longest words are: {0}'.format(d)) #满足条件的字符串有多个
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)