学籍注册小程序

这是本人python初步学习,用来练习的小程序,如有不正确的地方和建议,欢迎留言!

一、需求分析

  1. 要求用户输入姓名、年龄、手机号、身份证号、所选课程,然后为学员完成注册
  2. 手机号、身份证号唯一
  3. 可选的课程只能从python,linux,网络安全,前端,数据分析这几门里选
  4. 学员信息存入文件

二、具体内容

1.代码展示

代码如下(示例):

  • 手机号,身份证号读入内存
  • 判断用户输入的手机号和身份证号的唯一性,返回用户信息
  • 将信息录入文件中
dict = { 1: "Python", 2: "Linux", 3: '网络安全', 4: '前端', 5: '数据分析'}

#判断并进行注册
def regist():
    stu_data = None
    name = input("请输入姓名:").strip()
    age = input("请输入年龄:").strip()
    number = input("请输入手机号:").strip()
    if number in PHONE_LIST:
        exit("该手机已注册!")
    id_number = input("请输入身份证号:").strip()
    if id_number in ID_LIST:
        exit("该身份证号码已注册!")
    list = ['python', 'Linux', '网络安全', '前端', '数据分析']
    for index, course in enumerate(list):
        print(f"{index}: {course}")
    index = input("请输入要选择的课程编号:").strip()
    if index.isdigit():
        index = int(index)
        if 0 <= index < len(list):
            stu_data = f"{name},{age},{number},{id_number},{list[index]}"
        else:
            exit("不合法选项……")
    else:
        exit("非法字符")

    return stu_data

#将信息加载到内存中
def commit_to_file(filename, stu_data):
    f = open(filename, "r+", encoding="UTF-8")
    data = f.read()
    data = data + '\n' + stu_data
    f.seek(0)
    f.write(data)
    f.close()

#将用于验证的手机号,身份证号读取到内存
def load_verify_id(filename):
    phone_list = [None]
    id_list = [None]
    f = open(filename, 'r', encoding="Utf-8")
    for line in f:
        line = line.strip().split(',')
        phone_list.append(line[2])
        id_list.append(line[3])
    f.close()
    return phone_list, id_list


filename = "students_info.txt"
PHONE_LIST, ID_LIST = load_verify_id(filename)
stu_data = regist()
commit_to_file(filename, stu_data)
exit("注册成功!")

2.记录的文本样例:

代码如下(示例):

3.运行样例

总结

主要是对刚开始学习的函数写法的练习,注意局部变量和全局变量的使用;list的enumerate()的使用。

本文地址:https://blog.csdn.net/weixin_43407213/article/details/110928929