Palindrom trong Python w3schools
Hôm nay tôi sẽ tạo một chương trình nhỏ để kiểm tra xem một số có phải là một bảng màu trong Python và Java không. Thực sự không có lý do rõ ràng nào mà tôi làm việc này, nó chỉ là một bài tập để thấy sự khác biệt giữa Python và Java Palindrome là khi một số hoặc chuỗi giống nhau cho dù bạn đọc nó từ trái sang phải hay từ phải sang trái. Ví dụ về một vài palindromes là. 151, 22522 và 989. Và 123 không phải là số đối xứng vì nó khác ngược bảng chữ cái trong PythonMột lời giải thích ngắn về mã. chúng tôi yêu cầu người dùng nhập một số. Sau đó, chúng tôi thử thay đổi đầu vào thành số nguyên để xem người dùng có thực sự nhập số không. Nếu đầu vào không phải là số thì không thể thay đổi thành số nguyên và mã trong phần 'ngoại trừ' được thực thi. Nếu người dùng đã nhập một số thông thường, nó sẽ được chuyển đổi lại thành một chuỗi và đảo ngược bằng cách sử dụng [. -1]. Trong Python [. -1] có thể được sử dụng để đảo ngược chuỗi Cuối cùng, số bị đảo ngược được so sánh với số ban đầu và nếu giống nhau thì đó là số đối xứng bảng chữ cái trong JavaCông thức đảo ngược số trong đoạn mã trên là từ javatpoint. com Nó hơi khác so với mã trong mã Python và đảo ngược chữ số theo chữ số. Nó không quan trọng để hiểu nhưng đây là những gì tôi hiểu về nó nếu bạn quan tâm Số đó được chia cho 10 và phần còn lại được đặt ở đầu. Sau đó, quy trình lặp lại để mỗi số ở cuối được di chuyển lên phía trước. Vì vậy, khi bạn chia 151 cho 10, phần còn lại là 1. Tổng bây giờ là 1 và num được chia cho 10, vì vậy num bây giờ là 15. 1. Sau đó, một vòng lặp mới bắt đầu. 15. 1 % 10 là 5. 1 nên số dư là 5. 1. Tổng bây giờ là 1 x 10 + 5. 1 = 15. 1. Số một lần nữa chia cho 10 và bây giờ là 1,51. Giá trị này vẫn ở trên 0 nên nó lặp lại. Nhưng 1,51 % 10 là 0. Vì vậy, bây giờ tổng là 15. 1 x 10 + 0 = 151. Đây là chính xác giống như số ban đầu Khái niệm cho phần còn lại của chương trình là như nhau. so sánh số bị đảo ngược với số ban đầu và nếu giống nhau thì đó là số đối xứng Thay vì 'thử / ngoại trừ' trong Python, giờ là 'thử / bắt'. Thay vì print() đó là Hệ thống. ngoài. in(). Mã để nhận đầu vào của người dùng cũng khác nhau. Trong Python, bạn chỉ có thể sử dụng input() nhưng trong Java, trước tiên bạn cần nhập một máy quét và sau đó khởi chạy nó với Scanner [name] = new Scanner(System. TRONG) Cuối cùng, trong Python, bạn có thể thay đổi một chuỗi thành một số nguyên bằng cách sử dụng int(). Trong Java, bạn có thể thực hiện việc này bằng Integer. parseInt() Phần kết luậnTheo tôi, mã Java cho bảng màu phức tạp hơn mã Python, nhưng đây có thể là vấn đề về trải nghiệm của bạn với cả hai ngôn ngữ. Trong Python có nhiều chức năng hơn để nhận đầu vào của người dùng, thay đổi chuỗi thành số nguyên, v.v. đã sẵn sàng để sử dụng. Do đó, mã có xu hướng dài hơn một chút trong Java và có thể trông phức tạp hơn Ví dụ: Mã nguồn
đầu ra The string is a palindrome. Ghi chú. Để kiểm tra chương trình, hãy thay đổi giá trị của my_str trong chương trình Trong chương trình này, chúng tôi đã lấy một chuỗi được lưu trữ trong my_str Sử dụng phương pháp Chúng tôi đảo ngược chuỗi bằng cách sử dụng chức năng tích hợp sẵn Cho một chuỗi, hãy viết hàm python để kiểm tra xem nó có phải là màu nhạt hay không. Một chuỗi được gọi là một đối xứng nếu mặt đảo ngược của chuỗi giống với chuỗi. Ví dụ: "radar" là một bảng màu nhạt, nhưng "cơ số" không phải là một bảng màu ví dụ. Input : malayalam Output : Yes Input : geeks Output : No Khuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp Phương pháp số 1
con trăn
Yes0 Yes1 Yes2 Yes3_______4_______4_______4_______4 Yes6 Yes7 Yes8 Yes9
Yes0 Yes3_______4_______4 Yes3 Yes4_______4_______4 Yes6
Yes7 Yes8 Yes1 Yes0_______4_______1 Yes2 Yes3 Yes4_______4_______5 Yes1 Yes0_______4_______1 Yes9 Yes3 Đầu ra Yes Độ phức tạp về thời gian. TRÊN) Phương pháp lặp. Phương pháp này được đóng góp bởi Shariq Raza. Chạy một vòng lặp từ đầu đến chiều dài/2 và kiểm tra ký tự đầu tiên đến ký tự cuối cùng của chuỗi và thứ hai đến ký tự cuối cùng thứ hai, v.v. Nếu bất kỳ ký tự nào không khớp, chuỗi sẽ không phải là một bảng màu Dưới đây là việc thực hiện phương pháp trên. con trănYes1 Yes2
Yes4_______4_______5 Yes6
Yes1_______4_______8 Yes1 Yes0 Yes1 Yes2 Yes3 Yes1 Yes5 Yes6 Yes7 Yes1 Yes9 Yes1 Yes5 Yes3 Yes3 Yes4 Yes5 Yes6_______4_______7 Yes5 Yes9 Yes4 Yes5 Yes2 Yes9 Yes1 Yes5 Yes3 Yes7 Yes1 Yes7 Yes8 # function which return reverse of a string 1
Yes1 Yes2 # function which return reverse of a string 7
Yes3_______4_______4 Yes3 Yes4_______4_______4 Yes6
Yes7 def 6Yes1 Yes0_______4_______1 Yes2 Yes3 Yes4_______4_______5 Yes1 Yes0_______4_______1 Yes9 Yes3 Đầu ra Yes Độ phức tạp về thời gian. TRÊN) Phương thức sử dụng hàm sẵn có để đảo ngược chuỗi. Dưới đây là việc thực hiện các phương pháp trên. con trănYes1 Yes2
Yes0
Yes1_______4_______14 Yes1_______4_______16 Yes1 Yes18 Yes4 Yes20 Yes21 Yes22
Yes1_______4_______24 Yes1_______4_______26 Yes1 Yes7 Yes29_______4_______4 Yes4 Yes32 Yes6_______4_______2 # function which return reverse of a string 7Yes1 Yes2 # function which return reverse of a string 4
Yes3_______4_______4 Yes3 Yes4_______4_______4 Yes6
Yes7 def 6Yes1 Yes0_______4_______1 Yes2 Yes3 Yes4_______4_______5 Yes1 Yes0_______4_______1 Yes9 Yes3 Đầu ra Yes Độ phức tạp về thời gian. TRÊN) Phương pháp sử dụng một biến phụ. Trong phương thức này, người dùng lấy từng ký tự của chuỗi và lưu nó vào một biến rỗng. Sau khi lưu trữ tất cả các ký tự, người dùng sẽ so sánh cả hai chuỗi và kiểm tra xem nó có phải là màu nhạt hay không. con trănYes60 Yes61 Yes62
Yes63____4_______4 Yes3
Yes66______4_______4 Yes68 Yes0 Yes1 Yes2 Yes72 Yes1 Yes66 Yes4 Yes1 Yes77 Yes66
Yes7 Yes80_______4_______4 Yes4 Yes83 Yes1 Yes0_______4_______1 Yes2 Yes3 Yes4_______4_______5 Yes1 Yes0_______4_______1 Yes9 Yes3 Đầu ra Yes Độ phức tạp về thời gian. TRÊN) Phương pháp sử dụng cờ. Trong phương pháp này, người dùng so sánh từng ký tự bắt đầu và kết thúc trong một vòng lặp for và nếu ký tự không khớp thì nó sẽ thay đổi trạng thái của cờ. Sau đó, nó sẽ kiểm tra trạng thái của cờ và theo đó và in xem đó có phải là một bảng màu hay không. con trănYes60 Yes61 Yes62 Yes99_______4_______4 Yes01 Yes02_______4_______4 Yes7 Yes8 Yes06______4_______4 Yes5 Yes0 Yes1 Yes2 Yes12 Yes1 Yes7 Yes15 Yes4 Yes17 Yes6_______4_______06 Yes4 Yes8 Yes6_______4_______23 Yes1 Yes02_______4_______4 Yes02 Yes7 Yes8 Yes7 Yes06 Yes4_______4_______4 Yes8 Yes5 Yes1 Yes0_______4_______1 Yes39_______4_______3 Yes4_______4_______5 Yes1 Yes0_______4_______1 Yes2 Yes3 Đầu ra Yes Độ phức tạp về thời gian. TRÊN) Phương pháp sử dụng đệ quy. Python3Yes48 Yes49
Yes0
Yes1_______4_______53 Yes1 Yes3_______4_______4 Yes57 Yes1_______4_______59 Yes1 Yes61_______4_______4 Yes9 Yes64
Yes1_______4_______66 Yes1 Yes7 Yes69 Yes4_______4_______5 Yes6_______4_______2 # function which return reverse of a string 7
Yes1 Yes76 Yes1 Yes78 Yes79 Yes5_______4_______9 Yes4 Yes4 Yes84_______4_______7 Yes8 # function which return reverse of a string 1
Yes6_______4_______89 Yes6_______4_______2 Yes92_______4_______8_______4_______94_______4_______7 Yes8 Yes97
Yes1 Yes4 Yes5 Yes6_______4_______2 # function which return reverse of a string 4
Yes04 Yes3_______4_______4 Yes07 Yes4_______4_______4 Yes6
Yes7 Yes8 Yes1 Yes0_______4_______1 Yes2 Yes3
Yes4_______4_______5 Yes1 Yes0_______4_______1 Yes9 Yes3 Đầu ra Yes Độ phức tạp về thời gian. TRÊN) Phương pháp. Sử dụng các phương thức mở rộng () và đảo ngược () Python3Yes25
Yes0 Yes1 Yes63 Yes4_______4_______31 Yes64 Yes1 Yes34 Yes4 Yes36 Yes1_______4_______38 Yes1_______4_______40 Yes1 Yes7 Yes80 Yes4 Yes4 Yes46 Yes6_______4_______2 # function which return reverse of a string 7Yes1 Yes2 # function which return reverse of a string 4
Yes04 Yes3_______4_______4 Yes3 Yes4_______4_______4 Yes6
Yes7 Yes8 Yes1 Yes0_______4_______1 Yes2 Yes3
Yes4_______4_______5 Yes1 Yes0_______4_______1 Yes9 Yes3 Đầu ra Yes Độ phức tạp về thời gian. O(n) trong đó n là độ dài của một chuỗi đã cho Bài viết này được đóng góp bởi Sahil Rajput. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên |