INTRODUCTION
FLOW CONTROL
FUNCTIONS
DATATYPES
OBJECT & CLASS
ADVANCED TOPICS
BỔ SUNG
PYTHON CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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

test php

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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:

Bài viết này được đăng tại [free tuts .net]

# 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

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Tìm hiểu Event loop trong Python

Tìm hiểu Event loop trong Python

Cách sử dụng ProcessPoolExecutor trong Python

Cách sử dụng ProcessPoolExecutor trong Python

Sử dụng đa xử lý trong Python

Sử dụng đa xử lý trong Python

Cách sử dụng Thread-safe Queue trong Python

Cách sử dụng Thread-safe Queue trong Python

Sử dụng Semaphore trong Python

Sử dụng Semaphore trong Python

Cách dừng Luồng trong Python

Cách dừng Luồng trong Python

Cách sử dụng Semaphore trong Python

Cách sử dụng Semaphore trong Python

Đối tượng Threading Event trong Python

Đối tượng Threading Event trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Các luồng Daemon trong Python

Các luồng Daemon trong Python

Tìm hiểu về Multithreading trong Python

Tìm hiểu về Multithreading trong Python

Cách trả về giá trị từ một Thread trong Python

Cách trả về giá trị từ một Thread trong Python

Cách mở rộng Class Thread trong Python

Cách mở rộng Class Thread trong Python

Cách sử dụng module threading trong Python

Cách sử dụng module threading trong Python

Sự khác biệt giữa các Processes and Threads

Sự khác biệt giữa các Processes and Threads

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Top