Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法
不使用int()函數(shù)的情況下把字符串轉(zhuǎn)換為數(shù)字,如把字符串"12345"轉(zhuǎn)換為數(shù)字12345。
方法一:利用str函數(shù)
既然不能用int函數(shù),那我們就反其道而行,用str函數(shù)找出每一位字符表示的數(shù)字大寫。
def atoi(s): s = s[::-1] num = 0 for i, v in enumerate(s): for j in range(0, 10): if v == str(j): num += j * (10 ** i) return num
方法二:利用ord函數(shù)
利用ord求出每一位字符的ASCII碼再減去字符0的ASCII碼求出每位表示的數(shù)字大寫。
def atoi(s):
s = s[::-1]
num = 0
for i, v in enumerate(s):
offset = ord(v) - ord('0')
num += offset * (10 ** i)
return num
方法三:利用eval函數(shù)
eval的功能是將字符串str當(dāng)成有效的表達(dá)式來求值并返回計算結(jié)果。我們利用這特點可以利用每位字符構(gòu)造成和1相乘的表達(dá)式,再用eval算出該表達(dá)式的返回值就表示數(shù)字大寫。
def atoi(s): s = s[::-1] num = 0 for i, v in enumerate(s): t = '%s * 1' % v n = eval(t) num += n * (10 ** i) return num
以上這篇Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python爬蟲開發(fā)之urllib模塊詳細(xì)使用方法與實例全解
這篇文章主要介紹了python爬蟲開發(fā)之urllib模塊詳細(xì)使用方法與實例全解,需要的朋友可以參考下2020-03-03
OpenCV實現(xiàn)手勢虛擬拖拽的使用示例(附demo)
本文主要介紹了OpenCV實現(xiàn)手勢虛擬拖拽的使用示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11
Python中創(chuàng)建數(shù)值列表的4種方法總結(jié)
在Python中列表(List)是一種有序、可變的數(shù)據(jù)類型,被廣泛用于存儲和處理多個元素,這篇文章主要給大家介紹了關(guān)于Python中創(chuàng)建數(shù)值列表的4種方法,需要的朋友可以參考下2024-05-05
anaconda中Conda創(chuàng)建虛擬環(huán)境的實現(xiàn)步驟
在Anaconda中,可以使用conda命令來創(chuàng)建和管理虛擬環(huán)境,本文主要介紹了anaconda中Conda創(chuàng)建虛擬環(huán)境的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2023-12-12
通過 Django Pagination 實現(xiàn)簡單分頁功能
這篇文章主要介紹了通過 Django Pagination 實現(xiàn)簡單分頁功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
python用線性回歸預(yù)測股票價格的實現(xiàn)代碼
這篇文章主要介紹了python用線性回歸預(yù)測股票價格的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
python使用pygame模塊實現(xiàn)坦克大戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了python使用pygame模塊實現(xiàn)坦克大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05

