Home > Python > Python căn bản > Chương trình quản lý sinh viên Python lưu mảng và dictionary

Chương trình quản lý sinh viên Python lưu mảng và dictionary

Hãy viết chương trình quản lý sinh viên bằng Python, gồm các chức năng chính như sau:

  • Khởi đầu là danh sách sinh viên rỗng.
  • Thông tin lưu trữ gồm mã sinh viên và tên sinh viên
  • Cho phép người dùng chọn chức năng như sau:
    • 1: Thêm sinh viên
    • 2: Xóa sinh viên
    • 3: Sửa sinh viên
    • 4: Xem danh sách sinh viên

Bài giải

-------------------- ######## --------------------

Để giải bài này trong Python thì ta sử dụng mảng để lưu trữ danh sách sinh viên, và dictionary trong Python để lưu trữ thông tin cho mỗi sinh viên.

Mỗi khi người dùng thực hiện xong một thao tác thì sẽ hỏi họ chọn chức năng, nếu muốn thoát khỏi chương trình thì nhập "exit".

Cấu trúc lưu trữ sinh viên:

infor = {
    'id': '',
    'name': '' 
}

Bài giải chi tiết:

# Học Python tại Freetuts.net
# Author: Cường Nguyễn
# Link https://freetuts.net/ref/chuong-trinh-quan-ly-sinh-vien-python-421.html

print("Chương trình quản lý sinh viên Python")

def addStudent():
    """Hàm thêm một sinh viên"""

    print("*** THÊM SINH VIÊN ***")

    # Danh sách sinh viên
    global listStudents

    # Cấu trúc lưu trữ một sinh viên
    infor = {
        'id' : '',
        'name' : ''
    }

    # Nhập ID, có kiểm tra trùng ID thì nhập lại
    print("Nhập ID sinh viên:")
    id = input()

    while True:
        student = findStudent(id)
        if student != False:
            print("ID này đã tồn tại, vui lòng nhập lại:")
            id = input()
        else:
            break

    infor['id'] = id

    # Nhập tên
    print("Nhập tên sinh viên:")
    infor['name'] = input()

    # Lưu vào danh sách sv
    listStudents.append(infor)


def findStudent(id):
    """Hàm tìm một sinh viên"""
    global listStudents
    for i in range(0, len(listStudents)):
        if listStudents[i]['id'] == id:
            # Trả về mảng gồm 2 phần tử,
            # 0 là vị trí tìm thấy và 1 là dữ liệu
            return [i, listStudents[i]]
    return False

def deleteStudent():
    """Hàm xóa sih viên"""
    print("*** XÓA SINH VIÊN ***")
    print("Nhập ID sinh viên cần xóa:")
    id = input()

    global listStudents
    student = findStudent(id)

    if student != False:
        listStudents.remove(student[1])
        print("Xóa sinh viên thành công")
    else :
        print("Không tìm thấy sinh viên cần xóa")

def showStudents():
    """Hàm hiển thị danh sách sv"""
    print("*** DANH SÁCH SINH VIÊN HIỆN TẠI ***")
    global listStudents
    for i in range(0, len(listStudents)):
        print("[",listStudents[i]['id'],"]", "[",listStudents[i]['name'],"]",)

def editStudent():
    """Hàm sửa sinh viên"""
    print("*** SỬA THÔNG TIN SINH VIÊN ***")
    global listStudents
    print("Nhập ID sinh viên cần sửa")
    id = input()
    student = findStudent(id)
    if student == False:
        print("Không tìm thấy sinh viên ", id)
    else :
        print("Nhập tên sinh viên")
        name = input()
        student[1]['name'] = name
        listStudents[student[0]] = student[1]

# CHƯƠNG TRÌNH CHÍNH
listStudents = []
action = 0

while action >= 0:
    if action == 1:
        addStudent()
    elif action == 2:
        deleteStudent()
    elif action == 3:
        editStudent()
    elif action == 4:
        showStudents()

    print("Chọn chức năng muốn thực hiện:")
    print("Nhập 1: Thêm sinh viên")
    print("Nhập 2: Xóa sinh viên")
    print("Nhập 3: Sửa sinh viên")
    print("Nhập 4: Xem danh sách sinh viên")
    print("Nhập 0: Thoát khỏi chương trình")
    action = int(input())
    if action == 0:
        break

Kết quả:

chuong trinh quan ly sinh vien python JPG

Nguồn: freetuts.net

Tham khảo
In ra các số chẵn trong mảng bằng Python
Tìm kiếm phần tử trong mảng bằng Python
Sự khác nhau giữa mảng, tuple, dictionary và set trong Python
Sắp xếp mảng tăng / giảm dần bằng Python
Chương trình quản lý sinh viên Python lưu mảng và dictionary

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP