我没有得到检查字符串是否为回文的正确输出

2024-10-01 15:42:27 发布

您现在位置:Python中文网/ 问答频道 /正文

运行程序时,我没有得到预期的输出

print('----------palindrome or not---------')
line=input('enter a line:-')
length=len(line)
a=0
if(length%2==0):
    length1=length/2
else:
    length1=(length+1)/2
for i in range (0,length-1):
    if(line[i]==line[length-2]):
        a+=1
if(a==length1):
    print("entered line is palindrome")
else:
    print("entered line is not palindrome")

输出enter image description here


Tags: or程序inputlenifislinenot
3条回答

这个简单的函数怎么样

def is_palindrome(text):
    return text == text[::-1]

或许可以尝试:

#!/usr/local/cpython-3.8/bin/python3

print('     palindrome or not    -')

line = input('enter a line:-')
length = len(line)
half_length = length // 2

for i in range(0, half_length):
    if line[i] != line[length - i - 1]:
        print("entered line is not palindrome")
        break
else:
    print("entered line is palindrome")

您只需对输入使用reversed()函数并检查两者是否相同即可

def palindrome(userinput):
    # reverse the text
    reversed_text = ''.join(reversed(userinput))

    # if user inputs blank
    if len(userinput) < 1:
        return False

    # check if reversed_text == userinput
    if (reversed_text == userinput):
        return True
    else:
        False

userinput = input()
text = palindrome(userinput)

if text:
    print('Entered line is palindrome')
else:
    print('Entered line is not palindrome')

这个很好用

相关问题 更多 >

    热门问题