is_palindrome
函数检查字符串是否是回文。
回文是一个可以从左到右或从右到左相等地读取的字符串,省略了空格,并且忽略了大写字母。
[回文示例包括皮划艇和雷达等词,以及“从不奇数或偶数”之类的短语。如果传递的字符串是回文,则在此函数中填写空白以返回True,否则返回False。
def is_palindrome(input_string):
# We'll create two strings, to compare them
new_string = ""
reverse_string = ""
input_string =input_string.lower()
# Traverse through each letter of the input string
for x in input_string:
# Add any non-blank letters to the
# end of one string, and to the front
# of the other string.
if x!=" ":
new_string =new_string+ x
reverse_string = x+reverse_string
# Compare the strings
if new_string==reverse_string:
return True
return False
new_string+x
和x+reverse_string
之间的区别是什么,它不会产生相同的效果?
我是python的初学者。我会尽力回答。请考虑。
在遍历字符串时,new_string =new_string+ x
将为单词python产生如下结果:
第一次迭代:p
第二次迭代:py
第三次迭代:pyt
同时,reverse_string = x+reverse_string
将产生类似结果
第一次迭代:p
第二次迭代:yp
第三次迭代:典型
那是这些陈述之间的区别。当您通过回文词检查它时,您不会发现任何区别。选择一个非回文词以了解其区别。
希望我让您澄清。如果您认为我的回答有用,请投票。另外,如果发现有任何偏差,请予以注释
请查看我的输出可能会对您有帮助
new_string:-n,n -reverse_string
new_string:-ne,en -reverse_string
new_string:-nev,ven -reverse_string
new_string:-尼夫,偶数-reverse_string
new_string:-从不,reven -reverse_string
new_string:-nevero,oreven -reverse_string
new_string:-neverod,doreven -reverse_string
new_string:-neverodd,ddoreven -reverse_string
new_string:-neveroddo,oddoreven -reverse_string
new_string:-neveroddor,roddoreven -reverse_string
new_string:-neveroddore,eroddoreven -reverse_string
new_string:-neveroddorev,veroddoreven -reverse_string
new_string:-neveroddoreve,everoddoreven -reverse_string
new_string:-neveroddoreven,neveroddoreven -reverse_string
真实
new_string:-a,--reverse_string
new_string:-ab,ba -reverse_string
新字符串:-abc,cba-反向字符串
False
new_string:-k,k -reverse_string
new_string:-ka,ak -reverse_string
new_string:-凯,y牛-reverse_string
new_string:-kaya,ayak -reverse_string
new_string:-皮划艇,kayak -reverse_string真实