学生成绩录入案例----python基础入门

python基础案例

程序主要涉及内容

  • 基础的类的定义与方法调用
  • 本地json的读取与写入
  • 用户交互输入输出
  • python输入数据类型的判断

具体代码

import json
# 定义类
class students(object):
#定义默认初始值 类的5个属性 
    students_No ='1555' 
    students_name = '不要停'
    students_u_test = 55
    students_last_test = 95
    students_test = students_u_test*0.2+students_last_test*0.8
    #类的实例化
    def __new__(cls,students_No, students_name, students_u_test, students_last_test):
            a =object.__new__(cls)
            a.students_No = students_No
            a.students_name = students_name
            a.students_u_test = students_u_test
            a.students_last_test = students_last_test
            a.students_test = students_u_test*0.2+students_last_test*0.8
            return a
	#类的调用方法
    def __init__(self, students_No, students_name, students_u_test, students_last_test):
            self.students_No = students_No
            self.students_name = students_name
            self.students_u_test = students_u_test
            self.students_last_test = students_last_test
            self.students_test = students_u_test * 0.2 + students_last_test * 0.8
# 读取方法
def test_u(name):
    with open('./user_test.json',encoding='utf-8')as f:
        line=f.readline()
        j_P=json.loads(line)
        for key in j_P:
            if key==name:
                print(key,":",j_P(key))
                break
    # return j_P(key)
# 查询方法
def chaxun_test(name):
    print('你选择方法为选择查询成绩')
    # cv=test_u(name)
    # ax=cv
    # return ax
#学号信息录入方法
def writh_test(hh):
    print('你选择方法为选择写入成绩')
    name=input('请输入姓名')
    No = input('请输入学号')
    while True:
        xk = input('平时成绩')
        xk_p = input('期末成绩')
        if xk.isnumeric() or xk_p.isnumeric():
            break
        else:
            print('请输入数值类型')
    xk_p = int(xk_p)
    xk = int(xk)
    ax = students(name, No, xk, xk_p)
    data_list = {'姓名': ax.students_name,'学号': ax.students_No,'平时成绩':ax.students_u_test,'期末成绩':ax.students_last_test,'最终成绩':ax.students_test}
    file_data_name1 = 'user_test.json'
    with open(file_data_name1, 'w', encoding='utf-8') as f:
        json.dump(data_list, f, ensure_ascii=False)
    return ax
# 修改方法
def change_test(hh):
    print('你选择方法为选择修改成绩')
    ax='1'
    return ax
# 成绩统计方法
def stuta_test(hh):
    print('你选择方法为统计成绩成绩')
    ax='2'
    return ax
#运行的主函数
while 1:
    a={}
    b={}
    with open('./user.json',encoding='utf-8')as f:
        line=f.readline()
        j=json.loads(line)
        username1=j['username1']
        password1=j['password1']
        username2=j['username2']
        password2=j['password2']
        user=input("输入用户名:")
        key=input("输入密码:")
        a['username']=user
        b['word']=key
        if(a['username']==username1 and b['word']==password1) or (a['username']==username2 and b['word']==password2):
             print("登录成功")
             print("---学生成绩管理系统---")
             print("1.录入成绩")
             print("2.查询成绩")
             print("3.修改成绩")
             print("4.成绩统计")
             select_r =input("请输入需要执行的功能【1-4】")
             if (select_r=='1'):
                writh_test(1)
             elif (select_r=='2'):
                chaxun_test(username1)
             elif(select_r=='3'):
                change_test(1)
             elif(select_r == '4'):
                stuta_test(1)
             else:
                 print('输入方法有误')
             # switch = {'1': writh_test(1),
             #           '2': chaxun_test(username1),
             #           '3': change_test(1),
             #           '4':stuta_test(1),
             #           }
             # mig_lt = switch.get(select_r)  # 执行对应的函数,如果没有就执行默认的函数
             break
        else:
            print("用户名或密码错误,登录失败")

# ax=students('a','dd',55,66)

运行结果

  • 输入过程
    在这里插入图片描述
  • 写入结果
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值