python回文数,第一段代码输出的回文数中包含0,但第二段代码输出的结果中没有0,求大神答疑解惑!
第一段代码defhws(n):n=str(n)returnn==n[::-1]output=filter(hws,range(0,100000))s=list(outpu...
第一段代码
def hws(n):
n=str(n)
return n==n[::-1]
output = filter(hws, range(0,100000))
s=list(output)
print(s)
with open('D:/回文数.txt', 'w') as f:
f.write(str(s))
input()
第二段代码
def hws(n):
i=0
while ((i<int((len(str(n))/2))) and (str(n)[i]==str(n)[-1-i])):
i=i+1
#逐个判断前一半字符是否等于后一半字符,直至遇到不相等(即不是回文数)或全部相等(此时i等于int((le(str(n)))/2)),说明是回文数,后续通过i的值就可返回回文数
#注意一位数的情况,此时i=0,int((len(str(n)))/2)也等于0,不满足i<int((len(str(n)))/2)的条件,不执行while循环,直接执行i=int((len(str(n)))/2)之后的return n操作
if i==(int((len(str(n)))/2)):
return n
output = filter(hws, range(0,100000))
s=list(output)
print(s)
with open('D:/回文数.txt', 'w') as f:
f.write(str(s))
print(hws(0))
input() 展开
def hws(n):
n=str(n)
return n==n[::-1]
output = filter(hws, range(0,100000))
s=list(output)
print(s)
with open('D:/回文数.txt', 'w') as f:
f.write(str(s))
input()
第二段代码
def hws(n):
i=0
while ((i<int((len(str(n))/2))) and (str(n)[i]==str(n)[-1-i])):
i=i+1
#逐个判断前一半字符是否等于后一半字符,直至遇到不相等(即不是回文数)或全部相等(此时i等于int((le(str(n)))/2)),说明是回文数,后续通过i的值就可返回回文数
#注意一位数的情况,此时i=0,int((len(str(n)))/2)也等于0,不满足i<int((len(str(n)))/2)的条件,不执行while循环,直接执行i=int((len(str(n)))/2)之后的return n操作
if i==(int((len(str(n)))/2)):
return n
output = filter(hws, range(0,100000))
s=list(output)
print(s)
with open('D:/回文数.txt', 'w') as f:
f.write(str(s))
print(hws(0))
input() 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询