Python程式檢查字串是否對稱或迴文


當需要檢查字串是否對稱或迴文時,可以定義一個使用“while”條件的方法。另一個方法也使用“while”和“if”條件來檢查對稱性。

迴文是一個數字或字串,從左到右或從右到左讀取時值相同。索引值相同。

示例

以下是對此的演示 -

 線上演示

def check_palindrome(my_str):
   mid_val = (len(my_str)-1)//2
   start = 0
   end = len(my_str)-1
   flag = 0
   while(start<mid_val):
   if (my_str[start]== my_str[end]):
      start += 1
      end -= 1
   else:
      flag = 1
      break;
   if flag == 0:
      print("The entered string is palindrome")
   else:
      print("The entered string is not palindrome")
def check_symmetry(my_str):
   n = len(my_str)
   flag = 0
   if n%2:
      mid_val = n//2 +1
   else:
      mid_val = n//2
   start_1 = 0
   start_2 = mid_val
   while(start_1 < mid_val and start_2 < n):
      if (my_str[start_1]== my_str[start_2]):
         start_1 = start_1 + 1
         start_2 = start_2 + 1
      else:
         flag = 1
         break
   if flag == 0:
      print("The entered string is symmetrical")
   else:
      print("The entered string is not symmetrical")
my_string = 'phphhphp'
print("The method to check a palindrome is being called...")
check_palindrome(my_string)
print("The method to check symmetry is being called...")
check_symmetry(my_string)

輸出

The method to check a palindrome is being called...
The entered string is palindrome
The method to check symmetry is being called...
The entered string is not symmetrical

解釋

  • 定義了一個名為“check_palindrome”的方法,該方法將字串作為引數。
  • 透過對2進行地板除法來計算中間值。
  • 起始值賦值為0,結束值賦值為最後一個元素。
  • 將名為flag的變數賦值為0。
  • 一個while迴圈開始,如果起始和結束元素相等,則起始值遞增,結束值遞減。
  • 否則,flag變數賦值為1,並跳出迴圈。
  • 如果flag的值為0,則字串為迴文,否則不是。
  • 定義了另一個名為“check_symmetry”的方法,該方法將字串作為引數。
  • 字串的長度賦值給一個變數。
  • 如果長度和2的餘數不為0,則更改中間值。
  • 再次更改起始值和中間值。
  • 使用另一個“while”條件,並再次更改起始值。
  • 如果flag的值為0,則字串被認為是對稱的。
  • 否則不是。

更新於:2021年3月12日

2K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.