# replace with your code here
with open('作业一素材.txt','r',encoding = 'utf-8') as file:
myString = file.read()
'''
从后往前循环遍历整个字符串,直至找到第2个换行符,该index保存在变量i中
这样我们就可以把页脚部分去掉
'''
cnt = 0
for i in range(len(myString)-1,-1,-1):
if myString[i] == '\n':
cnt = cnt + 1
if cnt == 2:
break
'''
我们先去掉页脚部分,得到新字符串,再把该字符串split,取最后一个单词
但要注意,但该单词可能不只包含字母,我们需要循环遍历,获得字母字符的个数,
最后得到该文本最后一个单词的长度
'''
length = 0
myString = myString[0:i]
lastWord = myString.split()[-1]
for j in lastWord:
if j.isalpha():
length += 1
print(length)
#附加题部分
with open('作业一附加选做题素材.txt','r',encoding = 'utf-8') as file:
myString = file.read()
#页脚部分去掉,同作业一
cnt = 0
for i in range(len(myString)-1,-1,-1):
if myString[i] == '\n':
cnt = cnt + 1
if cnt == 2:
break
'''
在此循环中,首先碰到第一个句号,接着往下读,
直到碰到第二个句号,此时最后一句话已经读完,
但要注意过程中可能会碰到换行符,碰到换行符就跳过
'''
length = 1#一句话至少有一个句号,所以初始长度为1
cnt = 0
for j in range(i-1,-1,-1):
if myString[j] == '。':
cnt += 1
if cnt == 2:
break
elif myString[j] == '\n':
continue
else:
length += 1
print(length)
如果所写代码复杂,且没有良好的注释,那么请在这里补充解释。