python3手机版怎么制作软件

欢迎来到今天的讨论,我们将讨论,python如何生成手机可运行文件 手机python3.0编程软件怎么用,一起为地球的明天贡献力量!

开发Python学生成绩管理系统:使用Tkinter和文本文件

在这篇文章中,我们将一步步地创建一个简单的学生成绩管理系统python和java哪个更容易学。这个系统将使用Python的Tkinter库来构建图形用户界面(GUI),并将学生的成绩数据存储在文本文件中。系统将包含登录、增加、删除、修改和查询学生成绩的功能。

1. 选择GUI框架

对于本项目,我们选择使用Python内置的GUI库Tkinter。Tkinter轻量级且易于使用,非常适合初学者和小型项目。

2. 设计GUI界面

我们的系统将包括以下几个界面:

登录界面:用于用户登录。主界面:显示学生成绩列表,并提供增加、删除、修改和查询成绩的选项。

3. 实现功能

3.1 登录功能

登录界面允许用户输入用户名和密码进行登录。这里我们简化处理,不连接数据库,仅作为示例展示。

3.2 增删改查功能

增加成绩:允许用户输入学生信息和成绩,并将其添加到系统中。删除成绩:允许用户删除指定的学生成绩。修改成绩:允许用户修改已有的学生成绩信息。查询成绩:允许用户查询特定学生的成绩。

4. 存储数据

我们将使用CSV格式的文本文件来存储学生的姓名和成绩等信息。

5. 代码实现

接下来是我们的Python代码实现:

import tkinter as tk
from tkinter import messagebox, simpledialog
import csv
import os

# 学生成绩管理系统类
class GradeSystem():
    def __init__(self):
        super().__init__()
        self.title("学生成绩管理系统")
        self.geometry("500x300")
        self.filename = ""
         = []
        self.load_data()
        self.create_widgets()

    def create_widgets(self):
        # 登录按钮
        self.login_button = tk.Button(self, text="登录", command=self.login)
        ()

        # 显示成绩的列表框
        self.grade_list = tk.Listbox(self)
        (, expand=True)
        self.update_grade_list()

        # 增删改查按钮
        self.add_button = tk.Button(self, text="添加成绩", command=self.add_grade)
        ()
        self.delete_button = tk.Button(self, text="删除成绩", command=self.delete_grade)
        ()
        self.edit_button = tk.Button(self, text="修改成绩", command=self.edit_grade)
        ()
        self.search_button = tk.Button(self, text="查询成绩", command=self.search_grades)
        ()

    def login(self):
        # 简单的登录对话框
        username = simpledialog.askstring("登录", "输入用户名:")
        password = simpledialog.askstring("登录", "输入密码:", show='*')
        if username == "admin" and password == "admin":
            messagebox.showinfo("登录", "登录成功")
        else:
            messagebox.showerror("登录", "用户名或密码错误")

    def add_grade(self):
        # 添加成绩
        student = simpledialog.askstring("添加成绩", "输入学生姓名:")
        grade = simpledialog.askstring("添加成绩", "输入学生成绩:")
        if student and grade:
            .append([student, grade])
            self.update_grade_list()
            self.save_data()

    def delete_grade(self):
        # 删除选中的成绩
        selected = self.grade_list.curselection()
        if selected:
            del [selected[0]]
            self.update_grade_list()
            self.save_data()

    def edit_grade(self):
        # 修改选中的成绩
        selected = self.grade_list.curselection()
        if selected:
            student, grade = [selected[0]]
            new_grade = simpledialog.askstring("修改成绩", f"输入{student}的新成绩:")
            if new_grade:
                [selected[0]] = [student, new_grade]
                self.update_grade_list()
                self.save_data()

    def search_grades(self):
        # 查询成绩
        student = simpledialog.askstring("查询成绩", "输入学生姓名:")
        if student:
            found = [f"{s[0]}: {s[1]}" for s in  if s[0] == student]
            messagebox.showinfo("查询结果", "\n".join(found) if found else "未找到该学生的成绩")

    def update_grade_list(self):
        # 更新列表框内容
        self.grade_list.delete(0, )
        for student, grade in :
            self.grade_list.insert(, f"{student}: {grade}")

    def load_data(self):
        # 从文件加载数据
        if .exists(self.filename):
            with open(self.filename, newline='') as file:
                 = list(csv.reader(file))

    def save_data(self):
        # 保存数据到文件
        with open(self.filename, 'w', newline='') as file:
            writer = csv.writer(file)
            writer.writerows()

if __name__ == "__main__":
    app = GradeSystem()
    app.mainloop()

功能说明

登录功能:提供简单的登录对话框,用户需输入用户名和密码(在这个示例中,预设的用户名和密码均为“admin”)。

增加成绩:允许用户输入学生姓名和成绩,然后将其添加到系统中。

删除成绩:允许用户从列表中选择一个学生成绩并删除。

修改成绩:允许用户修改选中学生的成绩。

查询成绩:允许用户输入学生姓名来查询成绩。

数据存储:使用CSV格式的文件存储数据。


原文地址1:https://blog.csdn.net/qq_51447496/article/details/135003378
参考资料:python中用turtle画一个圆形 https://blog.csdn.net/SXIAOYAN_/article/details/140061099

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值