回文程序 Python
回文程序 Python?
回文可以定义为一个字符串或数字,当其位置反转时,显示相同的值。简单来说,就是反转后保持不变。
Example: deed, 101
当反向单词和实际单词(数字或字符串)进行比较时,它们会产生相同的结果。
回文的类型
In Python language,回文有三种类型,如下所列:
- 多词回文: 这是多个单词的组合,其中原始单词和反转单词的值相同。
- 单词回文: 这是原始单词和反转单词的值相同的单个单词。
- 回文数: 这是原数和逆数的值相同的数。给定的输入无论是从正向还是从逆向都保持不变。
回文数的算法 Python
可以应用以下算法来检查回文数:
步骤1) 执行变量声明为'I'并读取变量。
步骤2) 分配 'I' 到临时变量 j。i=j
步骤3) 按照如下所示的指令执行循环:-
- M=I%10
- L=L x 10 + M
- 我=我/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 范围函数。
- 然后使用字符串分隔符将字符串 b 与空字符串 rev 连接起来 “.
方法 2:回文程序 Python 使用标志
标志变量可以在 Python 识别回文。Flag 初始化为 0。以下程序说明了 flag 参数的用法:
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 通过反转字符
char 方法用于反转此回文程序中的字符串 Python. 将原始字符串与反向字符串进行检查,以确定该字符串是否为回文。
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 的值和契约的字符串值。
- 代码检查该值是否为数字和字符串格式的回文。
方法 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
代码说明:
- 标记为回文比较器的用户定义函数检查该值是否是字符串。
- 该程序使用以下方法比较原始字符串和原始字符串的反向: 标准 original[i]!= original[len(original) - i - 1].
- 上述程序利用长度技术来确定字符串的长度。
方法 5:回文 Python 使用递归
In 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 函数、预定义函数、递归等。