Bài 15
Đề bài: Tạo chương trình điểm danh sử dụng tuple.
Moi buoi hoc là 1 tuple (ten_mon, ngày, co_mat).
Thong ke ty le điểm danh của tung học sinh.
Ví dụ:
Danh sach: [("Nam","Toan","T2",True), ("Nam","Van","T3",False),
("Lan","Toan","T2",True), ("Lan","Van","T3",True)]
Kết quả:
Nam: 1/2 buoi = 50.0%
Lan: 2/2 buoi = 100.0%
Đăng nhập để giáo viên có thể giao bài và nhận bài nộp của bạn.
Câu trả lời
diem_danh = []
n = int(input("Nhap so ban ghi: "))
for _ in range(n):
ten = input(" Ten hoc sinh: ")
mon = input(" Mon hoc: ")
ngay = input(" Ngay (vd T2): ")
co_mat = input(" Co mat (co/khong): ").lower() == "co"
diem_danh.append((ten, mon, ngay, co_mat))
# Thong ke theo ten
thong_ke = {}
for ten, mon, ngay, co_mat in diem_danh:
if ten not in thong_ke:
thong_ke[ten] = {"tong": 0, "co_mat": 0}
thong_ke[ten]["tong"] += 1
thong_ke[ten]["co_mat"] += 1 if co_mat else 0
print("\nTy le diem danh:")
for ten, kq in thong_ke.items():
ty_le = kq["co_mat"] / kq["tong"] * 100
print(f" {ten}: {kq['co_mat']}/{kq['tong']} buoi = {ty_le:.1f}%")