|
发表于 2022-10-18 23:09:50
|
显示全部楼层
运行一下这个代码也许就能明白,while k 那个循环就是为了求出 a 的倒序数,比如,如果 a = 19321,那么,通过这个循环,就可以计算出其反序数 b = 12391,显然,如果 a 和 b 如果相等,那么,a 肯定就是回文数。
- i = 139
- a , b = i ** 2 , 0
- k = a
- c = 0
- while k :
- print('%d : b = %5d , k = %5d , k %% 10 = %d' % (c + 1 , b , k , k % 10))
- b , k = b * 10 + k % 10 , k // 10
- c += 1
- print('b = %5d , k = %5d' % (b , k))
- print('a = %5d' % a)
复制代码
运行实况:
- D:\[00.Exerciese.2022]\Python>python x.py
- 1 : b = 0 , k = 19321 , k % 10 = 1
- 2 : b = 1 , k = 1932 , k % 10 = 2
- 3 : b = 12 , k = 193 , k % 10 = 3
- 4 : b = 123 , k = 19 , k % 10 = 9
- 5 : b = 1239 , k = 1 , k % 10 = 1
- b = 12391 , k = 0
- a = 19321
- D:\[00.Exerciese.2022]\Python>
复制代码
这个代码和前面的代码完全一样,只是截取了求取反序数的相关代码,并添加了循环以及一些关键中间变量值的显示。 |
|