Bạn cần đăng nhập để đánh giá tài liệu

Mở rộng bài tập trong phần luyện tập như sau Việc sắp xếp thứ tự phải ưu tiên tính theo tên trước

274

Với giải Vận dụng 2 trang 155 Tin học 10 Chân trời sáng tạo chi tiết trong ài 32: Ôn tập lập trình Python giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập Tin học 10. Mời các bạn đón xem:

Mở rộng bài tập trong phần luyện tập như sau Việc sắp xếp thứ tự phải ưu tiên tính theo tên trước

Vận dụng 2 trang 155 Tin học 10: Mở rộng bài tập trong phần luyện tập như sau:

- Việc sắp xếp thứ tự phải ưu tiên tính theo tên trước, rồi đến họ, rồi đến đệm.

- Sắp xếp theo thứ tự của bảng chữ cái tiếng Việt.

    Chú ý: Bảng chữ cái tiếng Việt (bao gồm cả dấu thanh) được sắp xếp theo thứ tự sau: AÀÁẢÃẠĂẰẮẲẴẶÂẤẨẪẬBCDĐEÈÉẺẼẸÊỀẾỂỄỆGHIÌÍỈĨỊJKLMNOÒÓỎÕỌƠỚỞỠỢÔỒỐỔỖỘPQRSTUÙÚỦŨỤƯỪỨỬỮỰVXXYỲÝỶỸỴ.

Lời giải:

import re

def Chuyendoi(s):

    s = re.sub(r'[àáạảãâầấậẩẫăằắặẳẵ]', 'a', s)

    s = re.sub(r'[ÀÁẠẢÃĂẰẮẶẲẴÂẦẤẬẨẪ]', 'A', s)

    s = re.sub(r'[èéẹẻẽêềếệểễ]', 'e', s)

    s = re.sub(r'[ÈÉẸẺẼÊỀẾỆỂỄ]', 'E', s)

    s = re.sub(r'[òóọỏõôồốộổỗơờớợởỡ]', 'o', s)

    s = re.sub(r'[ÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠ]', 'O', s)

    s = re.sub(r'[ìíịỉĩ]', 'i', s)

    s = re.sub(r'[ÌÍỊỈĨ]', 'I', s)

    s = re.sub(r'[ùúụủũưừứựửữ]', 'u', s)

    s = re.sub(r'[ƯỪỨỰỬỮÙÚỤỦŨ]', 'U', s)

    s = re.sub(r'[ỳýỵỷỹ]', 'y', s)

    s = re.sub(r'[ỲÝỴỶỸ]', 'Y', s)

    s = re.sub(r'[Đ]', 'D', s)

    s = re.sub(r'[đ]', 'd', s)

    return s

def Sosanhxau(name1, name2):

    name1=Chuyendoi(name1)

    name2=Chuyendoi(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) 

Đánh giá

0

0 đánh giá