Đảo ngược một số nguyên trong Python
12345 thành 54321. Đảo các chữ số bằng phép cắt chuỗi, rồi xem thêm cách làm bằng số học.
- Đổi qua lại giữa int và str
- Đảo ngược bằng [::-1]
- Giữ dấu của số âm
- 1
str(12345)"12345" - 2
[::-1]"54321" - 3
int(...)54321
Số → chuỗi → đảo ngược → số
Đảo ngược một số nghĩa là viết các chữ số của nó theo thứ tự ngược lại, ví dụ 12345 thành 54321. Cách dễ đọc nhất trong Python là chuyển số thành chuỗi, đảo ngược chuỗi rồi chuyển kết quả trở lại thành số.
Những điểm quan trọng
str(12345)[::-1]cho"54321".int()đổi lại thành số và bỏ các số 0 ở đầu (1200 → 21).- Với số âm, hãy xử lý dấu trừ riêng.
Khi nào nên sử dụng?
- Làm quen với cú pháp và các khái niệm cơ bản của Python qua những ví dụ ngắn, dễ hiểu.
- Xây dựng nền tảng vững chắc trước khi chuyển sang các bài toán phức tạp hơn.
- Chạy thử code ngay trên trình duyệt mà không cần cài đặt Python trên máy.
Code ví dụ
number = 12345
# Reverse the digit text, then convert it back to an integer.
reversed_number = int(str(number)[::-1])
print(reversed_number)
Kết quả khi chạy
54321
Giải thích code
Hàm str(number) chuyển số thành chuỗi "12345". Phép cắt [::-1] đọc chuỗi từ cuối về đầu, tạo ra "54321". Cuối cùng int() chuyển chuỗi này trở lại thành số nguyên để có thể tiếp tục tính toán.
Thay đổi giá trị và chạy chương trình bằng trình chạy Python online của CodeUtility mà không cần cài Python.
Bài tập mở rộng
Hãy thử chỉnh sửa code theo các gợi ý dưới đây. Tự thay đổi và quan sát kết quả sẽ giúp bạn hiểu bài sâu hơn nhiều so với chỉ đọc code.
- Thay đổi dữ liệu đầu vào và đoán trước kết quả rồi mới chạy để kiểm tra.
- Thêm phần kiểm tra cho trường hợp dữ liệu rỗng hoặc không hợp lệ.
- Đưa phần xử lý vào một hàm riêng và thử với nhiều bộ dữ liệu khác nhau.
Luyện tập với thử thách
Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.
- Đảo ngược một số Đảo ngược các chữ số thập phân của một số nguyên dương. Dễ
- Số Palindrome Kiểm tra xem một số có đọc xuôi và ngược giống nhau không. Dễ