做一个背单词的脚本

Python 每日5词打卡脚本

每运行一次,弹出5个单词

每天5个,当天不变,用python写,print输出就行

Python 每日5词打卡脚本:当日固定5词,重启不重复

功能亮点

✅ 每次运行弹出5个单词,当日固定不变,次日自动更新

✅ 读取当前文件夹word.txt,一行一个单词(支持英文+音标+释义格式)

✅ 单词数量校验,不足5个自动提示,足够则循环取词不重复

✅ 代码简洁可直接复制,无多余依赖,开箱即用

核心代码(直接复制可用)

python 复制代码
import os
import datetime

# 配置项:可自定义每日单词数量
WORD_FILE = "word.txt"
DAILY_COUNT = 5  # 每日固定5个单词

def get_daily_words():
    # 1. 校验并读取单词文件
    if not os.path.exists(WORD_FILE):
        print(f"❌ 未找到{WORD_FILE},请在当前文件夹创建,一行一个单词")
        return []
    with open(WORD_FILE, "r", encoding="utf-8") as f:
        # 过滤空行,保留有效单词
        words = [line.strip() for line in f if line.strip()]
    # 校验单词数量
    if len(words) < DAILY_COUNT:
        print(f"❌ 单词数量不足{DAILY_COUNT}个,请补充word.txt")
        return []
    
    # 2. 按日期固定索引,确保当日单词不变
    # 日期转序数,取模保证索引不越界,次日自动切换
    today = datetime.date.today().toordinal()
    base_idx = today % len(words)
    
    # 3. 提取当日5个单词,超出单词总数自动循环
    daily_words = []
    for i in range(DAILY_COUNT):
        idx = (base_idx + i) % len(words)
        daily_words.append(words[idx])
    return daily_words

# 主执行入口:打印当日单词
if __name__ == "__main__":
    daily_words = get_daily_words()
    if daily_words:
        print(f"📅 今日单词({datetime.date.today()}):")
        for idx, word in enumerate(daily_words, 1):
            print(f"{idx}. {word}")

详细使用教程

1. 准备单词文件

  1. 在代码同一文件夹下,新建 word.txt 文件

  2. 单词格式:一行一个,支持纯单词/英文 音标 汉语意思 格式,无空行
    ✅ 示例格式(推荐编程学习用):

    复制代码
    variable /ˈveəriəbl/ 变量
    function /ˈfʌŋkʃn/ 函数
    class /klɑːs/ 类
    array /əˈreɪ/ 数组
    loop /luːp/ 循环

2. 运行脚本

  1. 直接运行Python文件,无需额外安装依赖
  2. 运行效果:自动输出当日5个单词,重复运行结果不变
  3. 次日打开自动切换新5个单词,无需手动修改代码

3. 注意事项

✅ word.txt需和代码放在同一文件夹,否则提示文件不存在

✅ 支持中文编码,无需担心音标、中文释义乱码

扩展用法(可选优化)

✨ 优化1:自定义每日单词数量

修改代码中 DAILY_COUNT = 5 数值即可,比如改为10则每日10词

✨ 优化2:适配多格式单词

当前脚本兼容任意单行格式,无需修改代码,直接用 英文/英文+释义/英文+音标+释义 均可

✨ 优化3:增加单词去重

若word.txt有重复单词,可在读取时增加去重逻辑,在words = [line.strip()...]后添加:

python 复制代码
words = list(set(words))  # 去重
复制代码
[版权所有:k846211](k846211)# Python 每日5词打卡脚本:当日固定5词,重启不重复
## 功能亮点
✅  每次运行弹出5个单词,当日固定不变,次日自动更新
✅  读取当前文件夹word.txt,一行一个单词(支持英文+音标+释义格式)
✅  单词数量校验,不足5个自动提示,足够则循环取词不重复
✅  代码简洁可直接复制,无多余依赖,开箱即用
✅  可搭配开机自启动使用,~/.bashrc
## 核心代码(直接复制可用)
```python
import os
import datetime

# 配置项:可自定义每日单词数量
WORD_FILE = "word.txt"
DAILY_COUNT = 5  # 每日固定5个单词

def get_daily_words():
    # 1. 校验并读取单词文件
    if not os.path.exists(WORD_FILE):
        print(f"❌ 未找到{WORD_FILE},请在当前文件夹创建,一行一个单词")
        return []
    with open(WORD_FILE, "r", encoding="utf-8") as f:
        # 过滤空行,保留有效单词
        words = [line.strip() for line in f if line.strip()]
    # 校验单词数量
    if len(words) < DAILY_COUNT:
        print(f"❌ 单词数量不足{DAILY_COUNT}个,请补充word.txt")
        return []
    
    # 2. 按日期固定索引,确保当日单词不变
    # 日期转序数,取模保证索引不越界,次日自动切换
    today = datetime.date.today().toordinal()
    base_idx = today % len(words)
    
    # 3. 提取当日5个单词,超出单词总数自动循环
    daily_words = []
    for i in range(DAILY_COUNT):
        idx = (base_idx + i) % len(words)
        daily_words.append(words[idx])
    return daily_words

# 主执行入口:打印当日单词
if __name__ == "__main__":
    daily_words = get_daily_words()
    if daily_words:
        print(f"📅 今日单词({datetime.date.today()}):")
        for idx, word in enumerate(daily_words, 1):
            print(f"{idx}. {word}")

详细使用教程

1. 准备单词文件

  1. 在代码同一文件夹下,新建 word.txt 文件

  2. 单词格式:一行一个,支持纯单词/英文 音标 汉语意思 格式,无空行
    ✅ 示例格式(推荐编程学习用):

    复制代码
    variable /ˈveəriəbl/ 变量
    function /ˈfʌŋkʃn/ 函数
    class /klɑːs/ 类
    array /əˈreɪ/ 数组
    loop /luːp/ 循环

2. 运行脚本

  1. 直接运行Python文件,无需额外安装依赖
  2. 运行效果:自动输出当日5个单词,重复运行结果不变
  3. 次日打开自动切换新5个单词,无需手动修改代码

3. 注意事项

✅ word.txt需和代码放在同一文件夹,否则提示文件不存在

✅ 支持中文编码,无需担心音标、中文释义乱码

扩展用法(可选优化)

✨ 优化1:自定义每日单词数量

修改代码中 DAILY_COUNT = 5 数值即可,比如改为10则每日10词

✨ 优化2:适配多格式单词

当前脚本兼容任意单行格式,无需修改代码,直接用 英文/英文+释义/英文+音标+释义 均可

✨ 优化3:增加单词去重

若word.txt有重复单词,可在读取时增加去重逻辑,在words = [line.strip()...]后添加:

python 复制代码
words = list(set(words))  # 去重
复制代码
[点我查看更多精彩内容:www.flydean.com](www.flydean.com):当日固定5词,重启不重复
## 功能亮点
✅  每次运行弹出5个单词,当日固定不变,次日自动更新
✅  读取当前文件夹word.txt,一行一个单词(支持英文+音标+释义格式)
✅  单词数量校验,不足5个自动提示,足够则循环取词不重复
✅  代码简洁可直接复制,无多余依赖,开箱即用
✅  可搭配开机自启动使用,~/.bashrc
## 核心代码(直接复制可用)
```python
import os
import datetime

# 配置项:可自定义每日单词数量
WORD_FILE = "word.txt"
DAILY_COUNT = 5  # 每日固定5个单词

def get_daily_words():
    # 1. 校验并读取单词文件
    if not os.path.exists(WORD_FILE):
        print(f"❌ 未找到{WORD_FILE},请在当前文件夹创建,一行一个单词")
        return []
    with open(WORD_FILE, "r", encoding="utf-8") as f:
        # 过滤空行,保留有效单词
        words = [line.strip() for line in f if line.strip()]
    # 校验单词数量
    if len(words) < DAILY_COUNT:
        print(f"❌ 单词数量不足{DAILY_COUNT}个,请补充word.txt")
        return []
    
    # 2. 按日期固定索引,确保当日单词不变
    # 日期转序数,取模保证索引不越界,次日自动切换
    today = datetime.date.today().toordinal()
    base_idx = today % len(words)
    
    # 3. 提取当日5个单词,超出单词总数自动循环
    daily_words = []
    for i in range(DAILY_COUNT):
        idx = (base_idx + i) % len(words)
        daily_words.append(words[idx])
    return daily_words

# 主执行入口:打印当日单词
if __name__ == "__main__":
    daily_words = get_daily_words()
    if daily_words:
        print(f"📅 今日单词({datetime.date.today()}):")
        for idx, word in enumerate(daily_words, 1):
            print(f"{idx}. {word}")

详细使用教程

1. 准备单词文件

  1. 在代码同一文件夹下,新建 word.txt 文件

  2. 单词格式:一行一个,支持纯单词/英文 音标 汉语意思 格式,无空行
    ✅ 示例格式(推荐编程学习用):

    复制代码
    variable /ˈveəriəbl/ 变量
    function /ˈfʌŋkʃn/ 函数
    class /klɑːs/ 类
    array /əˈreɪ/ 数组
    loop /luːp/ 循环

2. 运行脚本

  1. 直接运行Python文件,无需额外安装依赖
  2. 运行效果:自动输出当日5个单词,重复运行结果不变
  3. 次日打开自动切换新5个单词,无需手动修改代码

3. 注意事项

✅ word.txt需和代码放在同一文件夹,否则提示文件不存在

✅ 支持中文编码,无需担心音标、中文释义乱码

扩展用法(可选优化)

✨ 优化1:自定义每日单词数量

修改代码中 DAILY_COUNT = 5 数值即可,比如改为10则每日10词

✨ 优化2:适配多格式单词

当前脚本兼容任意单行格式,无需修改代码,直接用 英文/英文+释义/英文+音标+释义 均可

✨ 优化3:增加单词去重

若word.txt有重复单词,可在读取时增加去重逻辑,在words = [line.strip()...]后添加:

python 复制代码
words = list(set(words))  # 去重
复制代码
[点我查看更多精彩内容:www.flydean.com](www.flydean.com)
相关推荐
dFObBIMmai5 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw05 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl200209256 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
dllmayday6 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
yngsqq6 小时前
平面图环 内轮廓
c#
ACP广源盛139246256736 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
Elastic 中国社区官方博客6 小时前
ES|QL METRICS_INFO 和 TS_INFO:为你的时间序列数据建立目录
大数据·数据库·elasticsearch·搜索引擎·信息可视化·全文检索
向量引擎6 小时前
向量引擎接入 GPT Image 2 和 deepseek v4:一个 api key 把热门模型串起来,开发者终于不用深夜修接口了
人工智能·gpt·计算机视觉·aigc·api·ai编程·key
俺不要写代码7 小时前
数据库:函数
数据库·mysql
2401_882273727 小时前
如何在 CSS 中正确加载本地 JPG 背景图片
jvm·数据库·python