ste*_*eve 2 python palindrome simplify
所以我最近实现了一个代码来检查一个单词,看它是不是回文.
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()
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人可以给我提示简化代码.
编辑 - 如果我要使用语句使函数成为迭代函数string == string1,我将如何停止无限循环?我需要一个计数来停止while循环吗?
不需要这么复杂的条件.你已经有一个反向字符串(string[::-1]).
你需要做的就是:
def isPalindrome():
string1 = input('Enter a string: ')
string2 = string1[::-1]
if string1 == string2:
return 'It is a palindrome'
return 'It is not a palindrome'
isPalindrome()
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,不要string用作变量名.这就是内置模块的名称)
返回字符串而不是打印它们会更好.这样你的功能就不会return None(防止以后可能发生的一些事情)
| 归档时间: |
|
| 查看次数: |
21782 次 |
| 最近记录: |