所以我最近实现了一个代码,检查一个单词是否是回文。
def isPalindrome():
string = input('Enter a string: ')
string1 = string[::-1]
if string[0] == string[(len(string)-1)] and string[1:(len(string)-2)] == string1[1:(len(string)-2)]:
print('It is a palindrome')
else:
print('It is not a palindrome')
isPalindrome()
我想知道是否有人能给我一些简化代码的建议。
编辑-如果我要使函数成为一个带有语句string == string1
的迭代函数,我如何停止无尽的while循环?我需要一个计数来停止while循环吗?
这里有一个简单的解决方案,只需1行即可。
plandrom = lambda string: True if string == string[::-1] else False
不需要这么复杂的条件。您已经有一个颠倒的字符串(
string[::-1]
)。你需要做的就是:
(顺便说一下,不要使用
string
作为变量名。这是内置模块的名称)最好是返回字符串而不是打印它们。这样,您的函数就不会
return None
(防止以后发生某些事情)你可以在一行中完成:
示例脚本:
您也可以这样做(尽管速度较慢):
另外,使用
raw_input
而不是input
。因为input
将被计算。我给你举个例子:脚本
跑步
相关问题 更多 >
编程相关推荐