C7-01 · Đảo chuỗi
Xem dạng PDFNguồn: Bài C7-01, mục 7.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long.
Đề
Cho một chuỗi ~s~. In ~s~ viết ngược (ký tự cuối lên đầu), rồi in YES nếu ~s~ là chuỗi đối xứng (đọc xuôi và đọc ngược giống hệt nhau), ngược lại in NO.
So sánh phân biệt chữ hoa, chữ thường và tính mọi ký tự, kể cả dấu cách: Aa không đối xứng; ab a cũng không đối xứng vì viết ngược thành a ba.
Dữ liệu vào
Một dòng chứa chuỗi ~s~.
Kết quả
Hai dòng:
- dòng 1: chuỗi ~s~ viết ngược;
- dòng 2:
YEShoặcNO.
Ràng buộc
- ~1 \le |s| \le 200~ (~|s|~ là độ dài của ~s~).
- ~s~ gồm các ký tự ASCII in được: chữ cái không dấu, chữ số, dấu câu, dấu cách.
- ~s~ không bắt đầu và không kết thúc bằng dấu cách, nhưng ở giữa có thể có nhiều dấu cách liền nhau.
Gợi ý
Mục 7.1: lát cắt s[::-1] là chuỗi đảo. Đừng lower() hay bỏ dấu cách — đề so sánh nguyên văn.
Lưu ý về chấm
Hệ thống so từng ký tự của mỗi dòng kết quả (chỉ bỏ qua dấu cách thừa ở cuối dòng): dòng 1 phải là chuỗi đảo nguyên văn, giữ đúng số dấu cách liền nhau như trong s. Đừng in bằng print(*...split()) hay chuẩn hóa dấu cách.
Ví dụ 1
Dữ liệu vào:
CNTT-K68
Kết quả:
86K-TTNC
NO
Ví dụ 2
Dữ liệu vào:
radar
Kết quả:
radar
YES
Giải thích ví dụ
- Ví dụ 1: đọc
CNTT-K68từ phải sang trái được86K-TTNC(Hình 7.1 trong sách). Chuỗi đảo khác chuỗi gốc nên inNO. - Ví dụ 2:
radarđọc ngược vẫn làradarnên inYES.
Nguồn trong sách: bài tập C7-01 (mục 7.10) · Mức: (*)