【发布时间】:2021-01-13 17:21:24
【问题描述】:
我正在尝试用 Python 编写一个程序,该程序将检测用户给出的单词是否为回文。
这是我的代码 - 我只对字符串进行操作 - 我的解决方案与我在这里或任何地方看到的其他解决方案完全不同,因此我希望您 - StactOverFlow 用户 ;) - 检查它的正确性。
我不必说我不是专业人士,拥有相当基本的知识。 但是,如果有人花时间给我一些反馈,我会很高兴。
# a palindrome
string = input('word: ')
if(len(string) % 2 != 0):
left = string.lower()[0:int((len(string)-1)/2)]
right = string.lower()[int((len(string)-1)/2 + 1): ]
if left == right[::-1]:
print('{} is a palindrome'.format(string.lower()))
else:
print('{} is not a palindrome'.format(string))
else:
left = string.lower()[0:int((len(string)/2))]
right = string.lower()[int(len(string)/2):]
if left == right[::-1]:
print('{} is a palindrome'.format(string.lower()))
else:
print('{} is not a palindrome'.format(string.lower()))
【问题讨论】:
-
您是在问这段代码是否有效?如果是这样的话,我相信你可以自己编译它。否则,您可能正在寻找代码审查,这可能更适合 codereview.stackexchange.com
-
好的,我写了这段代码,所以它没有语法错误,它在这个意义上是有效的。问题是:这背后的逻辑是否正确。
-
它比它需要的复杂得多......
-
您的意思是这是一个正确的解决方案,即。 e.想法本身?我想它可以用更简单的方式完成,但即使这个更复杂,它也是正确的,对吧?
标签: python string palindrome