陈日新的作业一

代码


# 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)

结果

结果截图

解释

如果所写代码复杂,且没有良好的注释,那么请在这里补充解释。