

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
def main():
print("CHƯƠNG TRÌNH QUẢN LÝ ĐIỂM TIN HỌC LỚP 10A")
# Nhập số lượng học sinh
n = int(input("Nhập số lượng học sinh lớp 10A: "))
# Nhập điểm trung bình môn Tin của từng học sinh
grades = []
for i in range(n):
score = float(input(f"Nhập điểm của học sinh thứ {i+1}: "))
grades.append(score)
while True:
print("\nMENU:")
print("1. In điểm của các học sinh trên cùng một dòng, cách nhau bởi dấu ?,")
print("2. Tính trung bình cộng điểm môn Tin của lớp 10A.")
print("3. Đếm số học sinh theo xếp loại (Giỏi, Khá, Đạt, Chưa đạt) môn Tin học.")
print("4. In ra thứ tự học sinh có điểm môn Tin là 10.")
print("5. Xóa điểm x của học sinh khỏi lớp 10A.")
print("6. Thêm điểm x của học sinh có vị trí y vào danh sách.")
print("7. In ra vị trí những học sinh có điểm TB môn Tin là 10.0.")
print("0. Thoát chương trình.")
choice = int(input("Chọn chức năng (0-7): "))
if choice == 0:
print("Kết thúc chương trình!")
break
elif choice == 1:
display_scores(grades)
elif choice == 2:
calculate_average(grades)
elif choice == 3:
count_by_grade_level(grades)
elif choice == 4:
find_perfect_scores(grades)
elif choice == 5:
grades = remove_score(grades)
elif choice == 6:
grades = add_score(grades)
elif choice == 7:
find_perfect_score_positions(grades)
else:
print("Lựa chọn không hợp lệ. Vui lòng chọn lại.")
def display_scores(grades):
"""In điểm của các học sinh trên cùng một dòng, cách nhau bởi dấu ?"""
print("Điểm của các học sinh:", end=" ")
print(" ? ".join(str(grade) for grade in grades))
def calculate_average(grades):
"""Tính trung bình cộng điểm môn Tin của lớp"""
if not grades:
print("Không có học sinh nào trong lớp!")
return
avg = sum(grades) / len(grades)
print(f"Điểm trung bình lớp: {avg:.2f}")
def count_by_grade_level(grades):
"""Đếm số học sinh theo xếp loại (Giỏi, Khá, Đạt, Chưa đạt)"""
excellent = 0 # Giỏi: 8.5 - 10
good = 0 # Khá: 7.0 - 8.4
average = 0 # Đạt: 5.0 - 6.9
poor = 0 # Chưa đạt: < 5.0
for grade in grades:
if 8.5 <= grade <= 10:
excellent += 1
elif 7.0 <= grade < 8.5:
good += 1
elif 5.0 <= grade < 7.0:
average += 1
else:
poor += 1
print(f"Giỏi: {excellent} học sinh")
print(f"Khá: {good} học sinh")
print(f"Đạt: {average} học sinh")
print(f"Chưa đạt: {poor} học sinh")
def find_perfect_scores(grades):
"""In ra thứ tự học sinh có điểm môn Tin là 10"""
perfect_scores = [i+1 for i, grade in enumerate(grades) if grade == 10]
if perfect_scores:
print("Thứ tự học sinh có điểm 10:", end=" ")
print(", ".join(str(pos) for pos in perfect_scores))
else:
print("None")
def remove_score(grades):
"""Xóa điểm x của học sinh khỏi lớp 10A"""
if not grades:
print("Danh sách điểm trống!")
return grades
x = float(input("Nhập điểm cần xóa: "))
if x in grades:
grades.remove(x)
print(f"Đã xóa điểm {x} khỏi danh sách.")
else:
print(f"Không tìm thấy điểm {x} trong danh sách.")
return grades
def add_score(grades):
"""Thêm điểm x của học sinh có vị trí y vào danh sách"""
x = float(input("Nhập điểm cần thêm: "))
y = int(input("Nhập vị trí cần thêm (1-{}): ".format(len(grades)+1)))
if 1 <= y <= len(grades) + 1:
grades.insert(y-1, x)
print(f"Đã thêm điểm {x} vào vị trí {y}.")
else:
print("Vị trí không hợp lệ!")
return grades
def find_perfect_score_positions(grades):
"""In ra vị trí những học sinh có điểm TB môn Tin là 10.0"""
perfect_positions = [i+1 for i, grade in enumerate(grades) if grade == 10.0]
if perfect_positions:
print("Vị trí học sinh có điểm 10.0:", end=" ")
print(", ".join(str(pos) for pos in perfect_positions))
else:
print("Không có học sinh nào đạt điểm 10.0")
if __name__ == "__main__":
main()
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin