今天开始学习这本书,感谢同学将电子档发给我,今天开始思考第一题,代码全部使用Python复写。
思考过程中的一些问题:
1.怎么将字符串倒置?
2.如何写循环判断语句?
下面借鉴知乎上面的答案:
哦,对了,还有一点,就是在转换为字符串的时候,bin()和oct()会有前缀,所以要加【2:】去掉前缀
然后贴上我写的代码:
num = 11
while True:
if str(num) == str(num)[::-1] and str(bin(num))[2:] == str(bin(num))[2:][::-1] and str(oct(num))[2:] == str(oct(num))[2:][::-1]:
print(num)
break
else:
num = num + 1
# strten = str(num)
# restrten = str(num)[::-1]
#
# strbin = str(bin(num))[2:]
# restrbin = strbin[::-1]
#
# stroct = str(oct(num))[2:]
# restroct = stroct[:: -1]
#
# if strten == restrten and stroct == restroct and strbin == restrbin:
# print("num is :{}".format(num))
# break
# else:
# num = num + 1
运行结果:
然后,几乎很久没有写过算法,之前的项目也感觉一直在copy和修改功能,从来没有真正去思考如何解决一个问题,今天想了很久还是没有解决出来,于是还是去百度,哎,感觉自己去思考,去编程还是一个新手,大学四年好像也没有实打实的自己写过算法。或许又是张国荣的哪一首由零开始!
别的不说,抄了别人的,至少给一个入口:
这是我借鉴知乎大神的,讲的很清楚:
https://zhuanlan.zhihu.com/p/37525968