pythonlbc 发表于 2022-9-1 20:27:44

【作品展示】30行代码实现自动计算英语笔记!

#第一次使用现在对应目录里创建单词.txt和句子.txt
import requests
import re
import sys
def word():
    header = {
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.175.400 QQBrowser/11.1.5155.400'
    }
    obj1 = re.compile(r'style="white-space: pre-line">(?P<juzi>.*?)</p>')#引入是句子时执行的正则表达式
    obj2 = re.compile(r'<span class="word-class">n.</span> <p class="mean">(?P<word>.*?)</p>')#引入是单词时执行的时的正则表达式
    while True:
      bianliang = input('请输入你想翻译的单词或者句子:')
      if bianliang == 'end!': #输入end!时程序结束!
            print('本次笔记结束!要记得及时复习哦~')
            sys.exit()
      url = 'https://fanyi.sogou.com/text?keyword=%s&transfrom=auto&transto=zh-CHS&model=general&fr=websearch' % bianliang
      resp = requests.get(url,headers=header)
      page = resp.text
      result1 = obj1.findall(page)#执行过正则的句子,此时result1是一个列表
      result2 = obj2.findall(page)#单词
      if " " in bianliang:#句子执行程序 #检测是否为句子,如果是,则翻译句子,如果不是则详细介绍翻译
            with open(r'C:\Users\ASUS\Desktop\英语笔记\句子.txt','a') as f1:
                try:
                  print(result1)
                  f1.write(result1+'\n') #写入文件
                  print('-------------------------------------------')
                  f1.write('-------------------------------------------'+'\n')#写入文件
                except:
                  print('拼写错误')
                  word()
      else:
            with open(r'C:\Users\ASUS\Desktop\英语笔记\单词.txt','a') as f2: #单词执行程序
                try:
                  print(result2)
                  f2.write(result2+'\n')
                  print('-------------------------------------------')
                  f2.write('-------------------------------------------'+'\n')
                except:
                  print('拼写错误')
                  word()
word()
页: [1]
查看完整版本: 【作品展示】30行代码实现自动计算英语笔记!