Python实验6

一个简单的字典应用综合性实验,通过该实验可以熟悉Python中的字典、文件读取和写入等操作。

实验要求:

读取一个文本文件,将其中的单词和对应的释义存储到一个字典中。

提供一个命令行界面,可以接收用户输入的单词,输出该单词的释义。

如果用户输入的单词不存在于字典中,提示用户该单词不存在,并询问是否需要添加该单词及其释义到字典中。

如果用户选择添加新单词,让用户输入该单词和对应的释义,并将其添加到字典中,并将字典保存到文件中。

实验步骤:

 (1)准备一个文本文件,例如"words.txt",其中每行包含一个单词和对应的释义,中间用空格分隔;

 (2)定义一个read_words_file()函数用于读取文件,并将其中的单词和对应的释义存储到字典中;

(3)定义一个lookup_word()函数用于输出单词的释义;

(4) 定义一个add_word()函数用于添加新单词;

(5)定义一个save_words_file()函数用于保存字典到文件中;

(6) 在主程序中实现命令行界面。

该程序首先读取文件中的单词和对应的释义,并进入一个循环,接收用户输入的单词,并调用lookup_word函数输出其对应的释义。如果该单词不存在于字典中,则询问用户是否添加该单词到字典中,如果用户选择添加,则调用add_word函数添加该单词到字典中,并将字典保存到文件中。

综上,该程序实现了一个简单的字典应用,可以通过命令行界面查询和添加单词及其释义。

先在源文件创建一个words.txt文件。

import os

# 定义文件名
words_file_name = "words.txt"

# 定义字典
word_dict = {}


def read_words_file():
    """
    读取文件,并将其中的单词和对应的释义存储到字典中
    """
    # 判断文件是否存在
    if os.path.exists(words_file_name):
        # 读取文件
        with open(words_file_name, "r") as f:
            # 循环读取每一行
            for line in f:
                # 去除空格和换行符
                line = line.strip()
                # 分割出单词和释义
                word, meaning = line.split(" ")
                # 存储到字典中
                word_dict[word] = meaning


def lookup_word(word):
    """
    输出单词的释义
    """
    # 如果单词存在于字典中
    if word in word_dict:
        # 输出释义
        print("{}的释义是:{}".format(word, word_dict[word]))
    # 如果单词不存在于字典中
    else:
        # 提示并询问用户是否添加该单词的释义
        add = input("字典中不存在该单词,是否添加?(yes或no)")
        # 如果用户需要添加
        if add == "yes":
            add_word(word)
        else:
            print("退出查询")


def add_word(word):
    """
    添加新单词
    """
    # 获取新单词的释义
    meaning = input("请输入{}的释义:".format(word))
    # 新单词存储到字典中
    word_dict[word] = meaning
    # 保存到文件中
    save_words_file()
    print("添加成功")


def save_words_file():
    """
    将字典保存到文件中
    """
    with open(words_file_name, "w") as f:
        for word, meaning in word_dict.items():
            f.write(word + " " + meaning + "\n")


def main():
    # 读取文件
    read_words_file()
    # 进入循环,接收用户输入的单词,并调用lookup_word函数输出其对应的释义
    while True:
        word = input("请输入要查询的单词:")
        # 调用查询函数
        lookup_word(word)


if __name__ == '__main__':
    main()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值