# 英语生词本

"""
介绍:背单词是学英语最基础的一环,不少学生在背单词的过程中会整理自己的生词本,以不断拓展自己的词汇量。

知识点:
    1、集合的创建、增添、删除、查询、遍历
    2、循环语句:while、for
    3、条件语句:if、elif、else
    4、跳转语句:break、continue
    5、旗帜应用

不足(待改善):
    1、完善程序,可以尝试添加提示语,让程序可读性更强
    2、可尝试添加一些确认,例如:加一个条件,是否确认删除生词
    3、在背单词模式可以尝试做一些文章,(默认是‘000’退出),例如:加一些旁白介绍、加一些条件确认
    4、本程序硬伤:无法保存在文件或磁盘,可以尝试改善
"""


# 定义一个可改变的集合变量,用于存储英语单词
vocab = set()

message = '请输入编号:'

print(' =====欢迎来到开心英语生词表=====')

while True:

    # 菜单界面
    print(' ============================')
    print('1.查看所有英语生词\t2.进入背单词模式')
    print('3.添加新的英语生词\t4.删除英语生词')
    print('5.查询英语生词\t0.退出')

    # 输入编号
    print('{}' .format(message), end='')
    num = input()

    # 1.查看所有英语生词
    if num == '1':

        count = 1               # 单词计数

        # 判断是否为空集合
        if vocab == set():
            print('\t\t 生词本无数据!')
            continue

        # 遍历打印
        for i in vocab:
            print('{} - {}' .format(i[0], i[1]), end=';\t')

            # 每5个单词换一行
            if count % 5 == 0:
                print()

            count += 1          # 单词计数

        print()                 # 打印换行

    # 2.进入背单词模式
    elif num == '2':

        # 判断是否为空集合
        if vocab == set():
            print('\t\t 生词本无数据!')
            continue

        # 遍历单词
        for i in vocab:
            print('{} 的翻译是:' .format(i[0]), end='')
            chinese = input()

            # 判断翻译是否正确
            if chinese == i[1]:
                print('\t\t 你太棒了!')
                continue

            elif chinese == '000':          # 退出背单词模式
                break

            else:
                print('\t\t 你再想想!')

            # 查看翻译
            while True:
                print('是否查看翻译(y/n):', end='')
                select = input()

                if select == 'y' or select == 'Y':
                    print('\t\t {} - {}' .format(i[0], i[1]))
                    break

                elif select == 'n' or select == 'N':
                    break

                else:
                    print('\t\t 输入有误!!!')

    # 3.添加新的英语生词
    elif num == '3':

        # 请输入英语
        english = input('请输入英语单词:')
        chinese = input('请输入单词翻译:')

        # 存入集合,注意只能用add()
        vocab.add((english, chinese))

        # 打印刚存入的生词
        print('\t\t {} - {}\n\t\t 已添加到生词本' .format(english, chinese))

    # 4.删除英语生词
    elif num == '4':

        flag_del = 0            # 删除单词旗帜

        # 判断是否为空集合
        if vocab == set():
            print('\t\t 生词本无数据!')
            continue

        # 中文/英文删除
        data = input('请输入需要删除的(英文/中文):')
        for i in vocab:
            if data == i[0] or data == i[1]:
                vocab.remove((i[0], i[1]))
                print('\t\t {} - {}\n\t\t 生词已删除!!!' .format(i[0], i[1]))
                flag_del = 1    # 删除单词旗帜
                break

        # 单词不存在
        if flag_del != 1:
            print('\t{} 未添加到生词本!' .format(data))

    # 5.查询英语生词
    elif num == '5':

        flag_find = 0           # 查询旗帜

        # 判断是否为空集合
        if vocab == set():
            print('\t\t 生词本无数据!')
            continue

        # 英语/中文查询
        data = input('请输入需要查询的(英文/中文):')
        for i in vocab:
            if data == i[0] or data == i[1]:
                print('\t\t {} - {}' .format(i[0], i[1]))
                flag_find = 1   # 查询旗帜
                break

        # 未找到生词
        if flag_find != 1:
            print('\t{} 未添加到生词本!' .format(data))

    # 0.退出
    elif num == '0':
        print('\t  ===已退出生词表===')
        break

    # 其他
    else:
        print('\t\t输入有误!!!')
        message = '请重新输入编号:'
        continue

    message = '请输入编号:'

运行程序:

python函数生词本 python生词本代码_python函数生词本

创作日期:2022/5/17