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ỲÝỶỸỴ.
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ỲÝỶỸỴ.
Câu hỏi trong đề: Bài tập Ôn tập lập trình Python có đáp án !!
Quảng cáo
Trả lờ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)
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Đang tải chế độ Học...
Hot: 1000+ đề thi giữa kì 1 lớp 1-12 đầy đủ các môn (Update 2026) (chỉ từ 60k). Tải ngay
Đăng ký VIP để học và luyện thi không giới hạn
Trọn bộ quyền lợi trên Vietjack, trong một tài khoản.
- Phòng luyện thi cấp tốc: ĐGNL - ĐGTD, Tốt nghiệp THPT, Ôn vào 10, Ôn vào 6, Ôn Giữa kì/Cuối kì
- Hơn 200K đề thi thử, đề minh hoạ, chính thức các năm
- Với 3tr+ câu hỏi theo các mức độ Nhận biết, Thông hiểu, Vận dụng
- Tải xuống đề thi [DOCX] với đầy đủ đáp án
- Xem hàng ngàn bài giảng đính kèm củng cố thêm kiến thức
- Bao gồm tất cả các bậc từ Tiểu học đến Đại học
- Chặn hiển thị quảng cáo tăng khả năng tập trung ôn luyện
- Đăng ký ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Để giải quyết bài toán một cách triệt để và bằng phép tính thủ công sẽ khá khó khăn, trong Python cung cấp một số thư viện cũng như hàm có sẵn, giúp cho quá trình giải bài toán thuận tiện và dễ dàng hơn.
Tham khảo đoạn code sau:
from datetime import date
from datetime import timedelta
dateStandard = date(1990, 1, 1)
def calNumberDay(date1):
return (date1 - dateStandard).days
def NumberToDate(number):
return dateStandard + timedelta(days=number)
d=int(input("Nhap số ngày"))
a=input("Nhập thời gian").split(" ")
a[0]=int(a[0])
a[1]=int(a[1])
a[2]=int(a[2])
print(NumberToDate(number=32))
print(calNumberDay(date(a[2],a[1],a[0])))

Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
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)
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Đăng ký để học cùng Vietjack. Hoàn toàn miễn phí!
Bằng việc đăng ký, bạn đồng ý với Điều khoản sử dụng và Chính sách bảo mật của Vietjack.