Bài tập  /  Bài đang cần trả lời

Tính điểm thi tốt nghiệp trung học phổ thông Chuẩn bị cho kì thi tốt nghiệp trung học phổ thông theo Chương trình giáo dục phổ thông 2018, em hãy lập trình giải quyết bài toán xử lí số liệu kết quả kì thi. Dữ liệu nằm trong tập thi TN.inp gồm n thi sinh, thông tin mỗi thí sinh năm trên một dòng gồm bốn nội dung: tên, điểm Toán, điểm Tin, điểm tiếng Anh. Yêu cầu: Hãy tỉnh tổng điểm (tổng của ba môn Toán, Tin, tiếng Anh cộng lại), sắp xếp các thí sinh và đưa kết quả ra tệp thiTNout theo thứ tự ...

Tính điểm thi tốt nghiệp trung học phổ thông

Chuẩn bị cho kì thi tốt nghiệp trung học phổ thông theo Chương trình giáo dục phổ thông 2018, em hãy lập trình giải quyết bài toán xử lí số liệu kết quả kì thi. Dữ liệu nằm trong tập thi TN.inp gồm n thi sinh, thông tin mỗi thí sinh năm trên một dòng gồm bốn nội dung: tên, điểm Toán, điểm Tin, điểm tiếng Anh. Yêu cầu: Hãy tỉnh tổng điểm (tổng của ba môn Toán, Tin, tiếng Anh cộng lại), sắp xếp các thí sinh và đưa kết quả ra tệp thiTNout theo thứ tự tổng điểm tăng dân.

Dữ liệu: Nhập từ tệp thiTN.inp

- Dòng đầu chứa số nguyên n là số lượng thí sinh.

- n dòng sau, mỗi dòng chứa xấu s (là tên của thí sinh, không chứa dấu cách, các tên đều khác nhau) và ba số thực a, b, c (lần lượt là điểm thi các môn Toán, Tin học, tiếng Anh, có tối đa một chữ số ở phần thập phân). Kết quả: Đưa ra tệp thi TNout:

- n dòng được sắp xếp theo thứ tự tổng điểm tăng dần của các thí sinh, mỗi dòng tương ứng là 5 thông tin của một thí sinh lần lượt là: tên, điểm Toán, điểm Tin, điểm tiếng Anh và tổng điểm,

- Nếu có nhiều thí sinh cùng tổng điểm thì thi sinh nào xuất hiện trước ở trong danh sách lúc đầu sẽ được xếp trước.

1 trả lời
Hỏi chi tiết
12
0
0
Trần Bảo Ngọc
12/09 14:57:47

Dùng danh sách hai chiều, mỗi dòng của danh sách là thông tin của một thí sinh.

import sys

sys.stdin = open ("thi TN.inp", "r") sys.stdout = open("thi TN. out", "w") n = int(input())

A = []

for i in range (n):

s = input().split()

A.append(s)

for i in range(n):

# Cú pháp a[-i] để truy cập phần tử thứ i

# từ phải sang của mảng a

x = format (float (A[i] [-3])+ float (A[i] [-2])+ float (A[i] [-1]), ".1f")

A[i].append(x)

# Sắp xếp danh sách A theo thứ tự tăng dần của cột tổng A. sort (key-lambda x: x[-1])

for x in A:

for temp in x: print (temp, end=" ") 

print ()

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan
Bài tập Tin học Lớp 11 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500K