Python 實(shí)現(xiàn)反轉(zhuǎn)整數(shù)的案例(很容易懂的那種)
題目:
給出一個(gè) 32 位的有符號(hào)整數(shù),你需要將這個(gè)整數(shù)中每位上的數(shù)字進(jìn)行反轉(zhuǎn)。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設(shè)我們的環(huán)境只能存儲(chǔ)得下 32 位的有符號(hào)整數(shù),則其數(shù)值范圍為
。請(qǐng)根據(jù)這個(gè)假設(shè),如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0。
解題思路:
1.實(shí)現(xiàn)數(shù)據(jù)的反轉(zhuǎn)
如果是正數(shù):
tra = 0 while x != 0: n2 = x%10 x = x //10 tra = tra*10 + n2
如果是負(fù)數(shù)就abs()一下這個(gè)數(shù)
2.溢出判定
給出范圍[−2^31, 2^31 − 1]
則輸出的結(jié)果tra就必須滿足這個(gè)范圍.
代碼:
class Solution(object): def reverse(self, x): base = 1 for i in range(31): base = base * 2 two_Max = base - 1 two_Min = -base tra = 0 if x < 0: x = abs(x) while x != 0: n2 = x % 10 if tra > abs(two_Min) // 10 or (tra == abs(two_Min) // 10 and n2 < -8): return 0 x = x // 10 tra = tra * 10 + n2 return -tra else: while x != 0: n2 = x % 10 if tra > two_Max//10 or (tra == two_Max and n2 > 7 ): return 0 x = x // 10 tra = tra * 10 + n2 return tra
補(bǔ)充:python實(shí)現(xiàn)數(shù)字反轉(zhuǎn)_python 數(shù)字怎么反轉(zhuǎn)
每次寫 Python 都會(huì)忘記該怎么寫,最后只能去 Stack Overflow 查?我也一樣。時(shí)間一長(zhǎng),這讓人厭倦。
這15個(gè) Python 技巧和竅門,可以幫你提高效率
1. 交換值
x, y = 1, 2 print(x, y) x, y = y, x print(x, y)
2. 字符串列表合并為一個(gè)字符串
sentence_list = ["my", "name", "is", "George"] sentence_string = " ".join(sentence_list) print(sentence_string)
3. 將字符串拆分為子字符串列表
sentence_string = "my name is George" sentence_string.split() print(sentence_string)
4. 通過數(shù)字填充初始化列表
[0]*1000 # List of 1000 zeros [8.2]*1000 # List of 1000 8.2's
5. 字典合并
x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = {**x, **y}
6. 反轉(zhuǎn)字符串
name = "George" name[::-1]
7. 從函數(shù)返回多個(gè)值
def get_a_string(): a = "George" b = "is" c = "cool" return a, b, c sentence = get_a_string() (a, b, c) = sentence
8. 列表解析式
a = [1, 2, 3] b = [num*2 for num in a] # Create a new list by multiplying each element in a by 2
9. 遍歷字典
m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} for key, value in m.items(): print('{0}: {1}'.format(key, value))
10. 同時(shí)遍歷列表的索引和值
m = ['a', 'b', 'c', 'd'] for index, value in enumerate(m): print('{0}: {1}'.format(index, value))
11. 初始化空容器
a_list = list() a_dict = dict() a_map = map() a_set = set()
12. 刪除字符串兩端的無(wú)用字符
name = " George " name_2 = "George///" name.strip() # prints "George" name_2.strip("/") # prints "George"
13. 列表中出現(xiàn)最多的元素
test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4] print(max(set(test), key = test.count))
14. 檢查對(duì)象的內(nèi)存使用情況
import sys x = 1 print(sys.getsizeof(x))
15. 將 dict 轉(zhuǎn)換為 XML
from xml.etree.ElementTree import Element def dict_to_xml(tag, d): ''' Turn a simple dict of key/value pairs into XML ''' elem = Element(tag) for key, val in d.items(): child = Element(key) child.text = str(val) elem.append(child) return elem
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python函數(shù)默認(rèn)返回None的原因及分析
Python函數(shù)默認(rèn)返回None是因?yàn)樵谡Z(yǔ)法層面,解釋器會(huì)主動(dòng)地為沒有return語(yǔ)句的函數(shù)添加一個(gè)返回邏輯,返回值為None2024-11-11
Python實(shí)現(xiàn)感知機(jī)(PLA)算法
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)感知機(jī)(PLA)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
使用python的pexpect模塊,實(shí)現(xiàn)遠(yuǎn)程免密登錄的示例
今天小編就為大家分享一篇使用python的pexpect模塊,實(shí)現(xiàn)遠(yuǎn)程免密登錄的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02
PyTorch中的nn.ConvTranspose2d模塊詳解
nn.ConvTranspose2d是PyTorch中用于實(shí)現(xiàn)二維轉(zhuǎn)置卷積的模塊,廣泛應(yīng)用于生成對(duì)抗網(wǎng)絡(luò)(GANs)和卷積神經(jīng)網(wǎng)絡(luò)(CNNs)的解碼器中。該模塊通過參數(shù)如輸入輸出通道數(shù)、卷積核大小、步長(zhǎng)、填充等,能控制輸出尺寸和避免棋盤效應(yīng)2024-09-09
Python中所有子圖標(biāo)簽Legend顯示問題記錄
在Python中,利用matplotlib創(chuàng)建的子圖可以很容易地添加圖例,無(wú)論是為每個(gè)子圖單獨(dú)添加,還是統(tǒng)一在一起,本文詳細(xì)介紹了如何在多個(gè)子圖中顯示圖例,包括全局圖例的顯示、圖例樣式的調(diào)整和圖例位置的調(diào)整等,需要的朋友可以參考下2024-12-12
淺談Django自定義模板標(biāo)簽template_tags的用處
這篇文章主要介紹了淺談Django自定義模板標(biāo)簽template_tags的用處,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Python中的類的定義和對(duì)象的創(chuàng)建方法
object?是?Python?為所有對(duì)象提供的?基類,提供有一些內(nèi)置的屬性和方法,可以使用?dir?函數(shù)查看,這篇文章主要介紹了Python中的類的定義和對(duì)象的創(chuàng)建,需要的朋友可以參考下2022-11-11

