回文数
for i in range(10,1000):
# if str(i)==str(i)[::-1]
# print(i)
a = bin(i).replace('0b','')
# print(a)
b = oct(i)[1:]
c = str(i)
if a==a[::-1] and b==b[::-1] and c==c[::-1]:
print(c)
print(a)
print(b)
break
其中用到了range(),
bin(),oct(),hex() 分别可以得到二进制,八进制,十六进制的字符,其中字符前几位会有标识,所以需要切片
切片方法 str[1:],
python的 reverse 方法 str[::-1]
优化:
- 用while 代替 range,就不用判断最大值是多少
- 二进制末位一定是1,所以数字一定是奇数