📜  资质 |门 CS 1998 |第 32 题(1)

📅  最后修改于: 2023-12-03 15:28:13.406000             🧑  作者: Mango

资质 |门 CS 1998 |第 32 题介绍

这是一道传统的编程题目,用来考察程序员的编程能力。题目要求是编写一个程序,实现一种资质认证系统。

题目描述

这个系统有两个主要的功能:

  1. 注册资质:可以让用户注册所有的资质,每个资质有一个名称和一个编号。资质可以重复注册,但是编号不能重复。

  2. 查找资质:可以通过资质名称或编号查找相应的资质信息。

这个系统必须满足以下要求:

  • 用户输入必须验证,确保输入合法。
  • 所有的资质信息必须存储在文件中,以便系统可以在以后读取或修改。
  • 能够处理大量的注册和查找请求。
代码片段

下面是一个简单的代码片段,演示了如何实现上述功能:

# 注册资质
def registerQualification(name, number):
    # 确保编号未被注册
    if number in qualification.keys():
        print("Error: Number already registered")
        return False
    # 注册资质
    qualification[number] = name
    # 保存到文件中
    with open("qualification.txt", "a") as f:
        f.write("{},{}\n".format(number, name))
    return True

# 查找资质
def findQualification(query):
    # 通过名称查找
    if query in qualification.values():
        number = [k for k, v in qualification.items() if v == query][0]
        return "{}: {}".format(number, query)
    # 通过编号查找
    elif query in qualification.keys():
        return "{}: {}".format(query, qualification[query])
    else:
        return "Error: Qualification not found"

# 加载所有资质
def loadQualifications():
    # 读取文件中的所有资质
    with open("qualification.txt", "r") as f:
        for line in f.readlines():
            number, name = line.strip().split(",")
            qualification[number] = name

# 资质字典
qualification = {}

# 加载所有资质
loadQualifications()

上述代码片段演示了如何通过Python实现资质认证系统的主要功能。代码包括三个自定义函数:registerQualification, findQualification和loadQualifications。loadQualifications函数用于从文件中加载所有现有的资质,registerQualification函数用于注册一个新的资质,findQualification函数用于根据名称或编号查找资质。此外,资质信息被存储在一个字典qualification中,并在程序启动时从文件中加载。