Palindrom trong Python w3schools

# Enter number of terms needed  #0,1,1,2,3,5....
a=int(input("Enter the terms"))
f=0     #first element of series
s=1    #second element of series
if a<=0:
    print("The requested series is
",f)
else:
    print(f,s,end=" ")
    for x in range(2,a):
        next=f+s                           
        print(next,end=" ")
        f=s
        s=next


đầu ra. Nhập các điều khoản 5 0 1 1 2 3

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 Python

Palindrom trong Python w3schools

Mộ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 Java

Palindrom trong Python w3schools

Công thức đảo ngược số trong đoạn mã trên là từ javatpoint. com

Palindrom trong Python w3schools

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

Theo 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ụ: "dad" 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 casefold(), 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 reversed(). 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 list() để 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à 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

  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




# function which return reverse of a string

 

def

Yes
0

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

 

 

Yes
0

Yes
3_______4_______4
Yes
3

Yes
4_______4_______4
Yes
6

 

Yes
7
Yes
8

Yes
1
Yes
0_______4_______1
Yes
2
Yes
3

Yes
4_______4_______5

Yes
1
Yes
0_______4_______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

def

Yes
4_______4_______5
Yes
6

 

Yes
1_______4_______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_______4_______7
Yes
5
Yes
9
Yes
4
Yes
5
Yes
2
Yes
9
Yes
1
Yes
5
Yes
3
Yes
7
Yes
1
Yes
7
Yes
8# function which return reverse of a string1

# function which return reverse of a string2______4_______2 # function which return reverse of a string4

Yes
1
Yes
2 # function which return reverse of a string7

 

# function which return reverse of a string8

Yes
3_______4_______4
Yes
3

Yes
4_______4_______4
Yes
6

 

Yes
7 def6

Yes
1
Yes
0_______4_______1
Yes
2
Yes
3

Yes
4_______4_______5

Yes
1
Yes
0_______4_______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

def

Yes
0

 

Yes
1_______4_______14

Yes
1_______4_______16

Yes
1
Yes
18
Yes
4
Yes
20
Yes
21
Yes
22

 

Yes
1_______4_______24

Yes
1_______4_______26

Yes
1
Yes
7
Yes
29_______4_______4
Yes
4
Yes
32

Yes
6_______4_______2 # function which return reverse of a string7

Yes
1
Yes
2 # function which return reverse of a string4

 

# function which return reverse of a string8

Yes
3_______4_______4
Yes
3

Yes
4_______4_______4
Yes
6

 

Yes
7 def6

Yes
1
Yes
0_______4_______1
Yes
2
Yes
3

Yes
4_______4_______5

Yes
1
Yes
0_______4_______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

 

Yes
63____4_______4
Yes
3

 

Yes
66______4_______4
Yes
68

Yes
0
Yes
1
Yes
2
Yes
72

Yes
1
Yes
66
Yes
4
Yes
1
Yes
77
Yes
66

 

Yes
7
Yes
80_______4_______4
Yes
4
Yes
83

Yes
1
Yes
0_______4_______1
Yes
2
Yes
3

Yes
4_______4_______5

Yes
1
Yes
0_______4_______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

Yes
99_______4_______4
Yes
01

Yes
02_______4_______4
Yes
7
Yes
8

Yes
06______4_______4
Yes
5

Yes
0
Yes
1
Yes
2
Yes
12

Yes
1
Yes
7
Yes
15
Yes
4
Yes
17

Yes
6_______4_______06
Yes
4
Yes
8

Yes
6_______4_______23

Yes
1
Yes
02_______4_______4
Yes
02
Yes
7
Yes
8

Yes
7
Yes
06
Yes
4_______4_______4
Yes
8
Yes
5

Yes
1
Yes
0_______4_______1
Yes
39_______4_______3

Yes
4_______4_______5

Yes
1
Yes
0_______4_______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

def

Yes
0

 

Yes
1_______4_______53

Yes
1
Yes
3_______4_______4
Yes
57

Yes
1_______4_______59

Yes
1
Yes
61_______4_______4
Yes
9
Yes
64

 

Yes
1_______4_______66

Yes
1
Yes
7
Yes
69
Yes
4_______4_______5

Yes
6_______4_______2 # function which return reverse of a string7

 

Yes
1
Yes
76

Yes
1
Yes
78
Yes
79
Yes
5_______4_______9
Yes
4
Yes
4
Yes
84_______4_______7
Yes
8# function which return reverse of a string1

 

Yes
6_______4_______89

Yes
6_______4_______2
Yes
92_______4_______8_______4_______94_______4_______7
Yes
8
Yes
97

 

Yes
1
Yes
4
Yes
5

Yes
6_______4_______2 # function which return reverse of a string4

 

Yes
04

Yes
3_______4_______4
Yes
07

Yes
4_______4_______4
Yes
6

 

Yes
7
Yes
8

Yes
1
Yes
0_______4_______1
Yes
2
Yes
3

 

Yes
4_______4_______5

Yes
1
Yes
0_______4_______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

def

Yes
0

Yes
1
Yes
63
Yes
4_______4_______31
Yes
64

Yes
1
Yes
34
Yes
4
Yes
36

Yes
1_______4_______38

Yes
1_______4_______40

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

Yes
6_______4_______2 # function which return reverse of a string7

Yes
1
Yes
2 # function which return reverse of a string4

 

Yes
04

Yes
3_______4_______4
Yes
3

Yes
4_______4_______4
Yes
6

 

Yes
7
Yes
8

Yes
1
Yes
0_______4_______1
Yes
2
Yes
3

 

Yes
4_______4_______5

Yes
1
Yes
0_______4_______1
Yes
9
Yes
3

Đầ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
không gian phụ trợ. TRÊN)

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