Em hãy viết chương trình nhập một xâu kí tự bất kì từ bàn phím. Cần sắp xếp lại các chữ số thì dồn sang trái

Câu 31.5 trang 65 SBT Tin học 10Em hãy viết chương trình nhập một xâu kí tự bất kì từ bàn phím. Cần sắp xếp lại các chữ số thì dồn sang trái, các chữ cái tiếng Anh thì dồn sang phải xâu, các kí tự khác thì giữ nguyên vị trí.

Trả lời

Hướng dẫn:

Chúng ta đã biết giữa các kí tự cũng có thể được so sánh. Hai kí tự ch1 và ch2 được so sánh với nhau thông qua vị trí của các kí tự này trong bảng mã ASCII hoặc Unicode. Quan hệ so sánh tự nhiên giữa các kí tự chữ cái và số như sau:

"0" < "1" < ... < "9".

"A" < "B" < ... < "Z" < "a" < "b" <...< "Z".

Để giải bài tập này chúng ta cần tạo các biến nhớ dùng để lưu các xâu kí tự trung gian là s_tr (xâu dùng để lưu tạm các kí tự là số), s_ph (xâu dùng để lưu tạm các kí tự là chữ cái) và s_gi (xâu dùng để lưu các kí tự không là chữ số cũng không là chữ cái). Thuật toán của chương trình như sau: duyệt một lần tất cả các kí tự của xâu gốc S, sau đó đưa các kí tự này vào các xâu trung gian s­_tr, s_ph, s_gi. Xâu kết quả sẽ là s_tr + s_gi + s_ph. Mở phần mềm soạn thảo và nhập chương trình sau:

S = input("Nhập xâu kí tự bất kì: ")

s_tr = s_ph = s_gi = " "

for ch in S:

if "0" <= ch <="9":

s_tr = s_tr + ch

else:

if "a" <= ch <= "z" or "A" <= ch <= "Z":

s_ph = s_ph + ch

else:

s_gi = s_gi + ch

Skq = s_tr + s_gi + s_ph

print("Xâu kết quả:", Skq)

* Chương trình chạy thử:

Sách bài tập Tin học 10 Bài 31 (Kết nối tri thức): Thực hành: Viết chương trình đơn giản (ảnh 1)

Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:

Bài 29: Nhận biết lỗi chương trình

Bài 30: Kiểm thử và gỡ lỗi chương trình

Bài 31: Thực hành: Viết chương trình đơn giản

Bài 32: Ôn tập lập trình Python

Bài 33: Nghề thiết kế đồ họa máy tính

Bài 34: Nghề phát triển phần mềm

Câu hỏi cùng chủ đề

Xem tất cả