Làm cách nào để kiểm tra xem một palindrome có nằm trong vòng lặp while trong python không?

Palindrome là một số hoặc chữ cái vẫn giữ nguyên ngay cả khi số và chữ cái bị đảo ngược

Ví dụ

121, 11, 414, 1221, 74747 là các số đối xứng

MOM, DAD, MADAM, REFER là những chữ cái đối xứng

JAVATPOINT, PROGRAM, JAVA không phải là các chữ cái đối xứng

thuật toán Palindrom

  • Đọc số hoặc chữ cái
  • Giữ chữ cái hoặc số trong một biến tạm thời
  • Đảo ngược chữ cái hoặc số
  • So sánh biến tạm thời với chữ cái hoặc số đảo ngược
  • Nếu cả hai chữ cái hoặc số giống nhau, hãy in "chuỗi/số này là một bảng màu. "
  • Khác in, "chuỗi/số này không phải là một bảng màu. "

Chương trình Palindrom

chương trình 1. chuỗi đối xứng

đầu ra

chương trình 2. Chương trình chuỗi Palindrome

đầu ra

Enter a letter: javatpoint
The letter is not a palindrome

Enter a letter: MADAM
The letter is a palindrome

chương trình 3. Chương trình số Palindrome sử dụng vòng lặp while

đầu ra

Enter the value: 2551
This value is not a palindrome number!

Enter the value: 1221
This value is a palindrome number!

Ví dụ:

The string is a palindrome.
57 giống nhau về hướng tiến hoặc lùi. Một ví dụ khác là "aibohphobia", có nghĩa đen là nỗi sợ hãi khó chịu đối với palindromes.

Mã nguồn

# Program to check if a string is palindrome or not

my_str = 'aIbohPhoBiA'

# make it suitable for caseless comparison
my_str = my_str.casefold[]

# reverse the string
rev_str = reversed[my_str]

# check if the string is equal to its reverse
if list[my_str] == list[rev_str]:
   print["The string is a palindrome."]
else:
   print["The string is not a palindrome."]

đầ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

The string is a palindrome.
58, chúng tôi làm cho nó phù hợp để so sánh trường hợp. Về cơ bản, phương thức này trả về một phiên bản chữ thường của chuỗi

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

The string is a palindrome.
59. Vì hàm này trả về một đối tượng bị đảo ngược nên chúng ta sử dụng hàm
The string is a palindrome.
60 để chuyển chúng thành một danh sách trước khi so sánh

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à đố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

  1. Tìm đảo ngược của chuỗi
  2. Kiểm tra xem đảo ngược và ban đầu có giống nhau hay không

con trăn




The string is a palindrome.
61

 

The string is a palindrome.
62
Yes
0

Yes
1
Yes
2
Yes
3
Yes
4
Yes
4
Yes
6
Yes
7
Yes
8
Yes
9

 

 

Yes
0

Yes
3____54
Yes
3

________ 54 ________ 54 ________ 56

 

Yes
7
Yes
8

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3

Yes
4
Yes
5

Yes
1
Yes
0
Yes
1
Yes
9
Yes
3

đầu ra.  

Yes

Độ phức tạp về thời gian. Trên]

Không gian phụ trợ. Ô[1]

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ăn




Yes
1

Yes
2

The string is a palindrome.
62
Yes
4____55
Yes
6

 

Yes
1
Yes
8

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3
Yes
1
Yes
5
Yes
6
Yes
7
Yes
1
Yes
9
Yes
1
Yes
5
Yes
3
Yes
3
Yes
4
Yes
5

Yes
6
Yes
7
Yes
5_______59
Yes
4
Yes
5
Yes
2
Yes
9
Yes
1
Yes
5
Yes
3
Yes
7
Yes
1
Yes
7
Yes
8
The string is a palindrome.
611

________ 3612 ________ 52 ________ 3614

Yes
1
Yes
2
The string is a palindrome.
617

 

The string is a palindrome.
618

Yes
3____54
Yes
3

________ 54 ________ 54 ________ 56

 

Yes
7
The string is a palindrome.
626

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3

Yes
4
Yes
5

Yes
1
Yes
0
Yes
1
Yes
9
Yes
3

đầu ra.  

Yes

Độ phức tạp về thời gian. Trên]

Không gian phụ trợ. Ô[1]

Phương thức sử dụng hàm sẵn có để đảo ngược chuỗi.  

Trong phương pháp này, chức năng được xác định trước ‘ ‘. tham gia [đảo ngược [chuỗi]] được sử dụng để đả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ăn




Yes
1

Yes
2

The string is a palindrome.
62
Yes
0

 

_______51____514

_______51____516

Yes
1____518
Yes
4
Yes
20
Yes
21
Yes
22

 

Yes
1____524

_______51____526

Yes
1
Yes
7
Yes
29
Yes
4
Yes
4
Yes
32

Yes
6
Yes
2
The string is a palindrome.
617

Yes
1
Yes
2
The string is a palindrome.
614

 

The string is a palindrome.
618

Yes
3____54
Yes
3

________ 54 ________ 54 ________ 56

 

Yes
7
The string is a palindrome.
626

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3

Yes
4
Yes
5

Yes
1
Yes
0
Yes
1
Yes
9
Yes
3

đầu ra.  

Yes

Độ phức tạp về thời gian. Trên]

Không gian phụ trợ. 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ăn




Yes
60

Yes
61

Yes
62

 

________ 563 ________ 54 ________ 53

 

________ 566 ________ 54 ________ 568

________ 50 ________ 51 ________ 52 ________ 572

Yes
1____566
Yes
4
Yes
1
Yes
77
Yes
66

 

Yes
7
Yes
80____54
Yes
4
Yes
83

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3

Yes
4
Yes
5

Yes
1
Yes
0
Yes
1
Yes
9
Yes
3

đầu ra.  

Yes

Độ phức tạp về thời gian. Trên]

Không gian phụ trợ. 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ăn




Yes
60

Yes
61

Yes
62

________ 599 ________ 54 ________ 501

Yes
02
Yes
4
Yes
7
Yes
8

Yes
06
Yes
4
Yes
5

Yes
0
Yes
1
Yes
2
Yes
12

Yes
1
Yes
7
Yes
15
Yes
4
Yes
17

Yes
6
Yes
06____54
Yes
8

_______56____523

Yes
1
Yes
02
Yes
4
Yes
02
Yes
7
Yes
8

Yes
7
Yes
06____54
Yes
4
Yes
8
Yes
5

Yes
1
Yes
0
Yes
1____539
Yes
3

Yes
4
Yes
5

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3

đầu ra.  

Yes

Độ phức tạp về thời gian. Trên]

Không gian phụ trợ. Ô[1]

Phương pháp sử dụng đệ quy.  

Phương thức này so sánh phần tử đầu tiên và phần tử cuối cùng của chuỗi và đưa phần còn lại của chuỗi con vào một lệnh gọi đệ quy tới chính nó.  

Python3




Yes
48

Yes
49

The string is a palindrome.
62
Yes
0

 

_______51____553

Yes
1
Yes
3
Yes
4
Yes
57

_______51____559

Yes
1____561____54
Yes
9
Yes
64

 

_______51____566

Yes
1
Yes
7
Yes
69
Yes
4
Yes
5

Yes
6
Yes
2
The string is a palindrome.
617

 

_______51____576

Yes
1
Yes
78
Yes
79_______55____59
Yes
4
Yes
4
Yes
84
Yes
7
Yes
8
The string is a palindrome.
611

 

_______56____589

Yes
6
Yes
2
Yes
92
Yes
8
Yes
94
Yes
7
Yes
8
Yes
97

 

________ 51 ________ 54 ________ 55

Yes
6
Yes
2
The string is a palindrome.
614

 

Yes
04

Yes
3____54
Yes
07

________ 54 ________ 54 ________ 56

 

Yes
7
Yes
8

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3

 

Yes
4
Yes
5

Yes
1
Yes
0
Yes
1
Yes
9
Yes
3

đầu ra

Yes

Độ phức tạp về thời gian. Trên]

Không gian phụ trợ. Trên]

Phương pháp. Sử dụng các phương thức mở rộng [] và đảo ngược []

Python3




Yes
25

The string is a palindrome.
62
Yes
0

Yes
1____563____54
Yes
31
Yes
64

_______51____534____54

Yes
36

Yes
1____538

_______51____540

Yes
1
Yes
7
Yes
80
Yes
4
Yes
4
Yes
46

Yes
6
Yes
2
The string is a palindrome.
617

Yes
1
Yes
2
The string is a palindrome.
614

 

Yes
04

Yes
3____54
Yes
3

________ 54 ________ 54 ________ 56

 

Yes
7
Yes
8

Yes
1
Yes
0
Yes
1
Yes
2
Yes
3

 

Yes
4
Yes
5

Yes
1
Yes
0
Yes
1
Yes
9
Yes
3

Đầu ra

Yes

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

Chủ Đề