Bài tập Ôn tập lập trình Python có đáp án

Viết chương trình nhập số n, sau đó nhập danh sách tên học sinh với họ, đệm, tên.

1/4

Viết chương trình nhập số n, sau đó nhập danh sách tên học sinh với họ, đệm, tên. Sắp xếp tên học sinh trong lớp theo bảng chữ cái. Đưa kết quả ra màn hình.

0/3000 ký tự
Giải thích

Chương trình:

def Sosanhxau(name1, name2):

    name1 = name1.split()

    name2 = name2.split()

    i = 1

    while i <= len(name1) and i <= len(name2):

        if name1[len(name1)-i] > name2[len(name2)-i]:

            return True

        elif(name1[len(name1)-i]<name2[len(name2)-i]):

            return False

        else:

            i += 1

    return False

def Sapxep(A,n):

    for i in range(n):

        minimum = i

        for j in range(i + 1,n):                

            if Sosanhxau(A[j], A[minimum]) == False :

                minimum = j

        A[minimum], A[i] = A[i], A[minimum]

    return A

 

n=int(input("Nhập số lượng học sinh của lớp"))

A=[]

for i in range(0,n):

    s=input()

    A.append(s)

A=Sapxep(A,n)

print("Danh sách lớp theo tên đã sắp xếp là:")

print(A)