Python 中的回文程序
Python 中的回文程序是什么?
回文可以定义为在反转位置时显示相同值的字符串或数字。简而言之,它在反转时不会改变。
Example: deed, 101
当反转的单词和实际的单词(数字或字符串)进行比较时,它们会产生相同的结果。
回文的类型
在Python 语言中,回文有三种类型,如下所示:
- 多词回文:这是多个单词的组合,其中原始单词和反转单词的值相同。
- 单字回文:这是一个单词,其中原始单词和反转单词的值相同。
- 数字回文:这是一个数字,其中原始数字和反转数字的值相同。给定的输入无论从前面还是从后面看都保持不变。
Python 中回文数的算法
可以应用以下算法来检查回文数:
步骤 1)执行变量声明为‘I’并读取变量。
步骤 2)将‘I’分配给临时变量 j。 i=j
步骤 3)使用如下指令执行循环: –
- M=I % 10
- L=L x 10 + M
- I = I / 10
步骤 4)比较临时变量和 l。 L==J。
步骤 5)如果满足条件,则打印该数字为回文。
步骤 6)如果不满足条件,则打印该数字不是回文。
步骤 7)结束
上述算法适用于 Python 中的回文数。
方法 1:使用反向切片在 Python 中查找回文数
Python 中的反向切片通常涉及使用原始程序的子集语句。子集语句也可以使用循环。Python 的回文程序可以进行反向切片。
以下 Python 程序使用反向循环来确定字符串是否为回文。
Python 代码中的回文字符串程序
a='deed' lena=len(a) b=[] for i in range(lena - 1, -1, -1): b.append(a[i]) rev = "".join(b) print(a + " is: ", end="") if a == rev: print("Palindrome") else: print("Not Palindrome")
输出
deed is: Palindrome
代码解释
- Python 代码尝试使用字符串的长度和 Python 的 range 函数以相反的顺序附加空字符串 b。
- 然后使用字符串分隔符**“**将字符串 b 与空字符串 rev 连接起来。
方法 2:使用标志在 Python 中查找回文程序
可以在 Python 中定义标志变量来标识回文。标志初始化为 0。以下程序说明了标志参数的使用
Python 中回文程序的代码
Pld = "deed" m = -1 flag = 0 for char in Pld: if char != Pld[m]: flag = 1 break m = m - 1 print(Pld + " is: ", end="") if flag: print("Not Palindrome") else: print("Palindrome") print(flag)
输出
deed is: Palindrome 0
代码解释
- Python 中的字符从 0 索引开始。
- 由于 m 初始化为 -1,因此字符串从反向读取,使用负索引。
- 带有 if 语句的 for 循环检查字符串中的每个字符(从索引 0 开始)是否与字符串的反向索引匹配。
- 但是,如果不匹配,则程序将标志初始化为 1;否则,它将初始化为 0。
方法 3:通过反转字符检查 Python 中的回文
在此 Python 回文程序中使用 char 方法来反转字符串。将原始字符串与反转字符串进行比较,以确定字符串是否为回文。
Python 回文程序代码
Base = "123" reverse = "" for char in Base: reverse = char + reverse print("Palindrome") if Base == reverse else print("Not Palindrome") print("Original string is: " + str(Base)) print("reverse string is: " + str(reverse)) Base = "101" reverse = "" for char in Base: reverse = char + reverse print("Palindrome") if Base == reverse else print("Not Palindrome") print("Original string is: " + str(Base)) print("reverse string is: " + str(reverse)) Base = "deed" reverse = "" for char in Base: reverse = char + reverse print("Palindrome") if Base == reverse else print("Not Palindrome") print("Original string is: " + str(Base)) print("reverse string is: " + str(reverse))
输出
Not Palindrome The original string is: 123 The reverse string is: 321 Palindrome The original string is: 101 The reverse string is: 101 Palindrome The original string is: the deed The reverse string is: the deed
代码解释
- Python 的 str 函数有助于将数值格式转换为字符串格式。该程序首先检查值 123 是否为回文。
- 然后它会检查值 101 和字符串值 deed。
- 该代码检查数值和字符串格式的值是否为回文。
方法 4:如何使用字符匹配在 Python 中检查回文
在此回文方法中,程序使用 for 循环、range 函数和 Len 函数检查字符串中的每个字符是否与反转字符串匹配。
Python 代码
def PalindromeComparator(original): for i in range(0, len(original)): if original[i] != original[len(original) - i - 1]: return False return True Base = "deed" print("Palindrome") if PalindromeComparator(Base) else print("Not Palindrome")
输出
Not Palindrome
代码解释
- 一个名为 Palindrome Comparator 的用户定义函数会检查该值是否为字符串。
- 程序使用**标准 original[i]!= original[len(original) – i – 1]**比较原始字符串和原始字符串的反转。
- 上述程序利用长度技术确定字符串的长度。
方法 5:使用递归在 Python 中查找回文
在 Python 中,递归意味着函数会根据特定的标准反复调用自身。这样,问题就可以使用相同的函数结构分解为更小的部分。通过使用递归编程逻辑,也可以检查回文字符串。
Python 代码
def palcomprec(number, oppo): if number == 0: return oppo remainder = int(number % 10) oppo = (oppo * 10) + remainder return palcomprec(int(number / 10), oppo) Base = 12321 reverse = 0 reverse = palcomprec(Base, reverse) print(str(Base) + " is: ", end="") print("Palindrome") if reverse == Base else print("Not Palindrome")
输出
12321 is: Palindrome
代码解释
- 该程序使用一个用户定义的函数,该函数会递归地调用自身。
- 原始数字被分解,其剩余值被加到相反的值上。
- 在加到余数之前,相反的值首先乘以 10。
方法 6:如何使用 While 循环检查回文
while 循环迭代执行代码,直到应用的条件为真。
- 可以使用迭代方法检查整数值是否为回文。
- Python 程序使用临时数字和模运算符。
Python 代码
original = 101 temporary = original reverse = 0 while temporary > 0: remainder = temporary % 10 reverse = (reverse * 10) + remainder temporary = temporary // 10 if original == reverse: print('Palindrome') else: print("Not Palindrome")
输出
Palindrome
代码解释
- 程序使用一个 while 循环,该循环检查临时数字是否小于零。
- 模运算符计算原始数字的余数。
- 原始数字除以 10。
- 反向参数通过乘以 10 来计算。
- 结果数字加到余数中。
- 上述程序将原始数字和反转数字进行比较,以将其分类为回文或非回文。
结论
- 回文是一个值,当从后向前比较时,其结果相同。它用于各种数学谜题。
- 在 Python 中,可以使用多种方法来比较值是否为回文。使用的技术包括:反向切片、字符匹配、递归、循环的使用、rev、Len 和 str 函数、预定义函数、递归等。