我们在学英语的时候也可以利用程序来学,把自己需要背诵、还没学会的英语单词全部放进列表里,直接调用手机自带的朗读功能,随时随地跟读学习英语。
import time
import os
from androidhelper import Android
droid = Android()
def voice_read(text):
droid.ttsSpeak(text)
while droid.ttsIsSpeaking().result:
time.sleep(0.2)
w = [
["apple","苹果"],
["banana","香蕉"],
["book","书本"],
["pen","钢笔"],
["student","学生"]
]
while True:
for e,c in w:
print(" "*5,"=======单词=======")
print(" "*6,e,end="")
print(" "*4,c)
voice_read(e)
voice_read(c)
os.system("clear")
res = input("输入1继续朗读,输入其他数字退出程序:")
if res != "1":
break
逐条代码讲解
1. import time
导入时间模块,用来控制语音播放等待、延时检测。
2. import os
导入系统模块,用来调用系统清屏指令。
3. from androidhelper import Android
安卓专属工具库,只有Pydroid3软件自带这个库,普通手机编程软件没有,所以其他编辑器运行会直接报错。
4. droid = Android()
创建安卓工具对象,所有手机语音朗读功能都需要依靠这个对象。
5. def voice_read(text):
自定义朗读函数,接收一段需要朗读的文字。
6. droid.ttsSpeak(text)
调用手机自带语音引擎,朗读传入的文字内容。
7. while droid.ttsIsSpeaking().result:
循环检测语音播放状态,只要还在读,代码就不会往下执行。
8. time.sleep(0.2)
每间隔0.2秒检测一次播放状态,防止CPU反复高频查询。
9. w = [["apple","苹果"],……]
单词存储列表,英文和中文一一对应,后续更换背诵单词,只需要修改这里即可。
10. while True:
外层循环,默认开启循环背诵模式。
11. for e,c in w:
依次遍历单词列表,分别取出英文变量e、中文变量c。
12. print(" "*5,"=======单词=======")
在标题前面打印5个空格,实现横向居中排版。
13. print(" "*6,e,end="")
英文单词前空6格, end="" 取消自动换行,和下一行文字同行排版。
14. print(" "*4,c)
中文释义前面空4个空格,和英文单词对齐。
15. voice_read(e)
调用朗读函数,读出英文单词。
16. voice_read(c)
调用朗读函数,读出对应的中文释义。
17. os.system("clear")
调用安卓底层命令,清空整个终端屏幕,切换下一个单词。
18. res = input("输入1继续朗读,输入其他数字退出程序:")
一整轮单词全部朗读结束后,弹出手动选择窗口。
19. if res != "1":
判断用户输入的内容,如果不是字符 1 。
20. break
跳出最外层循环,程序直接结束运行。
抖音号:筛过岁月,藏喜入怀