郭嘉懿的作业一

代码


  # -*- coding: utf-8 -*-
  import pdfplumber
  import re
  Pdf = "20200701-IR-EN-2019-2.PDF" #导入对应的pdf

  def DropFooter(text):#去除页脚
      text1 = text.replace("顺丰控股股份有限公司\nS.F. HOLDING CO., LTD.",'')
      return text1

  def TidySentence(sentence):#整理句子
      s = sentence.replace('\n', '')
      return s

  def GetSentence(t):#从文章中获取句子
      lst = t.split('.')
      s = lst[-2]
      s1 = TidySentence(s)
      return s1

  def serve(i, s):#混合附加题和作业的选择服务
      s1 = re.findall(r'\w+', s)
      if i == 1:
          l = len(s1)
          print("最后一个句子长度为:", l)
      elif i == 2:
          l = len(s1[-1])
          #l2 = l.split()
          print("最后一个句子长度为:", l)
      else:
          print("无法识别,已退出程序。")

  with pdfplumber.open(Pdf) as pdf:
      n = eval(input("请输入需要查询的页码:\n")) + 1
      page = pdf.pages[n]
      text = page.extract_text()
      #s = MatchSentence(text)
      text1 = DropFooter(text)
      s = GetSentence(text1)
      i = eval(input('''请选择服务:
  查询最后一个句子长度请输入1
  查询最后一个单词长度请输入2\n'''))
      serve(i, s)

结果

结果截图 结果截图

解释

经过反复调试,最后仍然没有办法很好地区分“-”以及“'”,所以单词数目会过多