回文程序 Python

回文程序 Python?

回文可以定义为一个字符串或数字,当其位置反转时,显示相同的值。简单来说,就是反转后保持不变。

Example: deed, 101

当反向单词和实际单词(数字或字符串)进行比较时,它们会产生相同的结果。

回文 Python

回文的类型

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 函数、预定义函数、递归等。