Đây là câu hỏi lập trình được hỏi nhiều nhất trong cuộc phỏng vấn. Chúng ta có thể đảo ngược số nguyên trong Python bằng các phương thức khác nhau
Ở đây chúng tôi sẽ viết chương trình lấy số đầu vào và đảo ngược tương tự. Hãy tìm hiểu các phương pháp đảo ngược số nguyên sau đây
- Sử dụng vòng lặp while
- Sử dụng đệ quy
Đảo ngược một số bằng cách sử dụng vòng lặp Python
Đầu tiên, chúng ta hiểu thuật toán của chương trình này. Nó sẽ giúp dễ hiểu logic chương trình. Khi bạn nắm được logic, bạn có thể viết chương trình bằng bất kỳ ngôn ngữ nào, không chỉ Python
thuật toán
Hãy thực hiện thuật toán trên trong chương trình
Chương trình
đầu ra
Enter the integer number: 12345 The reverse number is: 54321
Giải trình -
Hãy hiểu chương trình này từng bước
Chúng tôi đã khởi tạo một biến số cho đầu vào của người dùng và giá trị ban đầu của biến revs_number thành null
Lần lặp đầu tiên
Lời nhắc = số %10
Lời nhắc = 12345%10 = 5
Đảo ngược = Đảo ngược *10 + Lời nhắc Giá trị ban đầu của số vòng quay là null
Đảo ngược = 0 * 10 + 5 = 0 + 5 = 5
Số = Số // 10
Number = 1234 //10 = 1234 // Bây giờ vòng lặp sẽ lặp trên số này
Lần lặp thứ hai
Bây giờ số là 123 và số vòng quay là 5. While kiểm tra điều kiện của nó và thực thi cho lần lặp tiếp theo
Lời nhắc = Số % 10
Lời nhắc = 1234 % 10 = 4
Đảo ngược = Đảo ngược *10+ Nhắc nhở = 5 * 10 + 4
Đảo ngược = 50 + 4 = 54
Số = Số //10 = 12345 //10
Số = 123
Lần lặp thứ ba
Từ lần lặp lại thứ hai, các giá trị của cả Số và Đảo ngược đã được thay đổi thành. số = 123 và số vòng quay = 54
Chuỗi Python là tập hợp các ký tự Unicode. Python có nhiều hàm để thao tác chuỗi, nhưng thư viện chuỗi Python không hỗ trợ hàm "reverse()" tích hợp. Nhưng có nhiều cách khác nhau để đảo ngược chuỗi. Chúng tôi đang xác định phương thức sau để đảo ngược Chuỗi Python
- Sử dụng vòng lặp
- Sử dụng vòng lặp while
- Sử dụng toán tử lát cắt
- Sử dụng hàm Reverse()
- Sử dụng đệ quy
Sử dụng vòng lặp
Ở đây, chúng ta sẽ đảo ngược chuỗi đã cho bằng vòng lặp for
đầu ra
('The original string is: ', 'JavaTpoint') ('The reverse string is', 'tniopTavaJ')
Giải trình-
Trong đoạn mã trên, chúng ta đã khai báo hàm reverse_string() và truyền đối số str. Trong phần thân hàm, chúng ta đã khai báo biến chuỗi rỗng str1 sẽ giữ chuỗi bị đảo ngược
Tiếp theo, vòng lặp for lặp lại mọi phần tử của chuỗi đã cho, nối từng ký tự ở đầu và lưu vào biến str1
Sau khi lặp lại hoàn chỉnh, nó trả về chuỗi thứ tự đảo ngược str1 cho hàm gọi. Nó in kết quả ra màn hình
Sử dụng vòng lặp while
Chúng ta cũng có thể đảo ngược một chuỗi bằng vòng lặp while. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
('The original string is : ', 'JavaTpoint') ('The reversed string using a while loop is : ', 'tniopTavaJ')
Giải trình
Trong đoạn mã trên, chúng ta đã khai báo một biến str chứa giá trị chuỗi. Chúng tôi đã khởi tạo một vòng lặp while với một giá trị của chuỗi
Trong mỗi lần lặp lại, giá trị của str[count - 1] được nối với Reverse_String và giảm giá trị đếm. Một lúc đã hoàn thành bước lặp của nó và trả về chuỗi thứ tự đảo ngược
Sử dụng toán tử lát cắt ([])
Chúng ta cũng có thể đảo ngược chuỗi đã cho bằng cách sử dụng toán tử lát cắt mở rộng. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
('The original string is : ', 'JavaTpoint') ('The reversed string(using extended slice syntax) is : ', 'tniopTavaJ')
Giải trình
Nói chung, toán tử lát cắt chấp nhận ba tham số - bắt đầu, dừng và bước. Chúng tôi đã cung cấp giá trị no cho chỉ mục bắt đầu và kết thúc, cho biết chỉ mục bắt đầu là 0 và kết thúc là n-1 theo mặc định. Kích thước bước là -1;
Sử dụng chức năng đảo ngược với tham gia
Python cung cấp hàm Reverse() để đảo ngược chuỗi. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
('The original string is : ', 'JavaTpoint') ('The reversed string using reversed() is : ', 'tniopTavaJ')
Giải trình
Trong phần thân hàm, chúng ta đã khai báo chuỗi rỗng cách nhau bởi. toán tử dấu chấm. Chuỗi đảo ngược () trả về chuỗi đảo ngược mà nó đã nối với chuỗi trống được phân tách bằng hàm nối ()
Sử dụng đệ quy()
Chuỗi cũng có thể được đảo ngược bằng cách sử dụng đệ quy. Đệ quy là một quá trình mà hàm gọi chính nó. Xem xét ví dụ sau
Ví dụ -
đầu ra
('The original string is : ', 'JavaTpoint') ('The reversed string(using reversed) is : ', 'tniopTavaJ')
Giải trình
Trong đoạn mã trên, chúng ta đã định nghĩa một hàm chấp nhận chuỗi làm đối số
Trong thân hàm, chúng tôi đã xác định điều kiện cơ bản của đệ quy, nếu độ dài của chuỗi bằng 0, thì chuỗi được trả về và nếu không thì chúng tôi gọi hàm theo cách đệ quy
Toán tử lát cắt chuỗi mong đợi ký tự đầu tiên và được nối vào cuối chuỗi lát cắt