【Python练习题 025】 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
-----------------------------------------------
做题做到现在,这种题目已经很轻车熟路了。希望下一题能增加点难度啊~~~
x = input('请输入一个5位数:') if x[0] == x[4] and x[1] == x[3]: print('%s是个回文数' % x) else: print('%s不是回文数' % x)
输出结果如下:
请输入一个5位数:12532
12532不是回文数
请输入一个5位数:98289
98289是个回文数
【2016-10-20 更新】----------------------------------------
上面的代码虽然凑合也能解决问题,但一旦用户输入的不是5位数,那就瞎了!感谢 rm-rf 提供的新思路,用切片的方法就可以很巧妙地解决问题。代码更新如下:
x = input('请输入任意位数的数字:') if x == x[::-1]: print('%s是个回文数' % x) else: print('%s不是回文数' % x)
记得 codegay 就曾经在【Python练习题 022:用递归函数反转字符串】提醒过我,可以用 str[::-1] 来反转字符串。谁想刚过没几道题,我就忘了这神器了。真是脑子不够使!
++++++++++++++++++++++++++++++++++++++