Python程序:检查字符串是否对称或回文
当需要检查字符串是否对称或为回文时,可以定义一个使用“while”条件的方法。另一种方法是使用“while”和“if”条件来检查对称性。
回文是一个从左向右或从右向左读取时相同值的数字或字符串。索引值是相同的。
更多Python相关文章,请阅读:Python 教程
示例
下面是一个演示例子 –
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("所输入的字符串为回文")
else:
print("所输入的字符串不是回文")
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("所输入的字符串为对称")
else:
print("所输入的字符串不是对称")
my_string = 'phphhphp'
print("正在调用检查回文的方法...")
check_palindrome(my_string)
print("正在调用检查对称的方法...")
check_symmetry(my_string)
输出
正在调用检查回文的方法...
所输入的字符串为回文
正在调用检查对称的方法...
所输入的字符串不是对称
解释
- 定义了一个名为“check_palindrome”的方法,它以字符串作为参数。
- 通过使用2的地板除法,计算出中间值。
- 将开始值赋为0,将结束值赋为最后一个元素。
- 将一个名为flag的变量赋为0。
- 开始一个while条件,如果起始和结束元素相等,则增加开始值并递减结束值。
- 否则,将flag变量赋为1,并退出循环。
- 如果标志的值为0,则字符串将为回文,否则不是。
- 定义另一个名为“check_symmetry”的方法,它以字符串作为参数。
- 将字符串长度分配给一个变量。
- 如果长度的余数不为0,则中间值会更改。
- 开始和中间值再次更改。
- 再次使用“while”条件,开始值再次更改。
- 如果标志值为0,则认为该字符串具有对称性。
- 否则没有。