识别回文Python的两种不同方法的优缺点

2024-10-03 11:12:48 发布

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

我对python和编程还比较陌生,有一个关于回文检测器的不同编写方法的问题。你知道吗

据我所知,我能用while循环做一个。。。你知道吗

word = str(input("Enter a word: "))
length = len(word)
x = 0
while length-x >= x:
    if word[(length-1)-x] == word[x]:
        y = True
        x += 1
    else:
        y = False
        break           
print (y)

但从其他回文问题中,我看到了较短的(更多的Python?)方式。。。你知道吗

word = input("Enter a word: ")

rword = word[-1::-1]

print (word == rword)

除了长度上的明显差异,使用这两种代码的优缺点是什么?另外,不确定这是否是一个愚蠢的问题,但这两个问题中有一个被认为是递归的吗?你知道吗


Tags: 方法trueinputlenif编程length检测器
1条回答
网友
1楼 · 发布于 2024-10-03 11:12:48

第一种方法的优点是不需要复制word。只有当它变大(或者你需要做几百万次)时,这才重要。你知道吗

请注意,word[::-1]就足够了,开头是隐式的0。你知道吗

您的第一个代码也可以简化一点(并放入函数中):

def is_palindrome(s):
    for i in range(len(s)):
        if s[i] != s[-(i + 1)]:
            return False
    return True

相关问题 更多 >