首先感谢车万翔老师在学习强国上的教学视频(程序设计的基础知识,3.3.2章节)
在学习回文数代码编写时,由于老师用的是py2.7版本,我用的是py3.7。
1、老师的代码
2、我的代码可见我计算给赋值为1,num_p的结果还是inf(无限),这里其实是精度问题,计算的时候在py3.7中num这个是一直除以10,最终结果并不是0。所以num_p就无限上加。所以在老师py2.7的是默认以整数(int)计算,在最终输出num的时候是0,而我在输出num的时候是0.0。说明了是以浮点数计算。
于是我改变得代码如下:
num = int(12321)
num_p = int(0)
num_t = int(num)
while int(num) != 0:
num_p = int(num_p) * 10 + int(num )% 10
num = int(num) / 10
if num_t == num_p:
print(“Yes”)
print(num_p, num)
else:
print(“No”)
print(num_p, num)
输出结果见图