1、問(wèn)題描述
輸入number=123,輸出321;輸入900,輸出9。
2、代碼實(shí)現(xiàn)
書(shū)上版本:
class Solution():
# 參數(shù)是整數(shù)number,返回值是一個(gè)反轉(zhuǎn)后的數(shù)字
def reverseInteger(self, number):
h = int(number/100)
t = int(number % 100/10)
z = int(number % 10)
return (100*z + 10*t + h)
if __name__ == '__main__':
solution = Solution()
num = 123
ans = solution.reverseInteger(num)
print('輸入:', num)
print('輸出:', ans)
局限性:完成了目標(biāo),是反轉(zhuǎn)了一個(gè)三位數(shù),但是大于三位就不行了。
改進(jìn)版本:
優(yōu)點(diǎn):不管多少位,都能進(jìn)行反轉(zhuǎn)。
class Solution():
# 參數(shù)是整數(shù)number,返回值是一個(gè)反轉(zhuǎn)后的數(shù)字
def reverseInteger(self, number):
a = []
for i in str(number):
a.append(i)
a.reverse()
return a
if __name__ == '__main__':
solution = Solution()
num = input('輸入:')
ans = solution.reverseInteger(num)
ans1 = [str(i) for i in ans]
output = int(''.join(ans1))
# print('輸入:', num)
print('輸出:', output)
3、代碼思路
1、將整數(shù)轉(zhuǎn)換成str;
2、將str放到一個(gè)列表里面;
3、利用.reverse()對(duì)列表進(jìn)行反轉(zhuǎn);
4、利用.join()將列表轉(zhuǎn)換成數(shù)字。
4、知識(shí)點(diǎn)
關(guān)鍵函數(shù):
a.reverse()
解讀:reverse()是python列表中的一個(gè)內(nèi)置方法,用于反向列表中元素;語(yǔ)法:“l(fā)ist.reverse()”。reverse()方法沒(méi)有返回值,但是會(huì)對(duì)列表的元素進(jìn)行反向排序。
.join()
這個(gè)函數(shù)展開(kāi)來(lái)寫(xiě)應(yīng)該是str.join(item),join函數(shù)是一個(gè)字符串操作函數(shù);join里放列表、元組、字典也是可以的。舉個(gè)例子:
','.join('abc')
# 返回:'a,b,c'
';'.join([a,b,c])
>> 'a;b;c'