第一个函数小程序--学籍注册系统

 本程序涉及知识点:

  1. 调用函数,函数内要有return 返回值
  2. 文件相关
  3. f""的含义---我的理解 用于打印带对象的值:例如,print("-------{name},{age}-----")
  4. if  循环,注意缩进  特别是在循环的时候。if后面如果跟着两个条件,直接写即可。例如:if   0<=index <len(cou_list)
  5. exit() 数据异常退出的时候,可以用这个方法
  6. 判断变量是否是数字:a.isdigit()

mode="a"---用于追加,"r"----只读模式

 

注意后面别忘记写close()方法

记得后面加上解码格式encoding=“utf-8”,否则乱码

  • 写入文件,因为本程序在后面追加即可,故用“a”模式


f=open("filename","a",encoding="utf-8")
f.write(list)
.......
f.close()
  • 读取文件

这里用到了循环文件里的内容,由于后面加上了换行符,这里以行line来循环
f=open("filename","r",encoding="utf-8")
for line in f:
    phone_num=list.append(line[2])
    id_num=list.append(line[3])
f.close()
  1.  
# 要求用户输入姓名、年龄、手机号、身份证号、所选课程,然后为学员完成注册
# 手机号、身份证号唯一
# 可选的课程只能从python,linux,网络安全,前端,数据分析这几门里选
# 学员信息存入文件

dic={}
filename = "stulist.txt"
list_cou = ["python", "linux", "网络安全", "前端", "数据分析"]
phone_list = []
id_list = []

def resgist():
    list_sum = None
    print("开始注册学籍".center(20,"-"))
    name=input("请输入姓名:")
    age=input("请输入年龄:")
    phone_num=input("请输入电话号码:")
    if phone_num in phone_list:
        print("该手机号已注册")
        phone_num=input("请输入新的手机号:")
    id=input("请输入身份证号:")
    if id in id_list:
        print("该身份证号已注册")
        id_num = input("请输入正确的身份证号:")
    for index,course in enumerate(list_cou):
        print(f"""{index}:{course}""")
    index=input("请输入所选课程序号").strip()
    if index.isdigit():
        index=int(index)
        if 0<=index  <len(list_cou):
            course=list_cou[index]
            list_sum=f"{name},{age},{phone_num},{id},{course}"
            print(list_sum)
        else:
            exit("超出序号.......")
    else:
        exit("非法输入.......")
    return list_sum

def save(list_sum):
    f=open(filename,"a",encoding="utf-8")
    f.write(list_sum+"\n")
    f.close()
    return filename

def verify(filename):
    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


phone_list,id_list=verify(filename)
list_sum=resgist()
save(list_sum)
verify(filename)

猜你喜欢

转载自blog.csdn.net/honghong3864/article/details/112958430