今天和老爸在讨论程序的过程中我做上了,他的没运行成功。也没报错,但就是不给运行。他也没看出来哪里不对。加了个注释,希望有人能帮忙解答一下呀!!
M=int(input())
N=M//2 # 奇数个位数的中间位置
O=M//2 # 偶数位的
创建一个能根据输入的M 生成M位数的两端边界值a,b的函数
def shu(n):
a=10**(n-1)
b=eval('9'*n)
return a,b
sum=0 # 用来统计回文数个数
sum99=0 # 用来统计含有‘99’的回文数个数
a,b=shu(M) # 生成M位数的最小值和最大值
for i in range(a,b+1): # 遍历所有的M位的整数
i = str(i) # 变成字符串 便于后面的切片
if M % 2 != 0: # 处理奇数个数位的回文数
# 从字符串中间切开 看看前一半是否和后一半翻转过来的相同
if i[:N-1]==i[N+1::-1]:
sum+=1
print('回文数%s' %i)
if "99" in i:
sum99+=1
else:
continue # 不相同的就跳出本轮
else: # 处理偶数个数位的回文数
if i[:O-1] == i[O::-1]:
sum += 1
if "99" in i:
sum99 += 1
print(sum)
print(sum99)
输入:3
输出:0
0
希望有人能告诉我爸比程序哪里错了?