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,则字符串被认为是对称的。
- 否则不是。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP