国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python如何實現(xiàn)int函數(shù)的方法示例

2020-02-22 23:15:26
字體:
供稿:網(wǎng)友

前言

拖了這么久,最終還是戰(zhàn)勝了懶惰,打開電腦寫了這篇博客,內(nèi)容也很簡單,python實現(xiàn)字符串轉(zhuǎn)整型的int方法

python已經(jīng)實現(xiàn)了int方法,我們?yōu)槭裁催€要再寫一遍,直接用不就好了?事實確實如此,但是int函數(shù)看似簡單,實際上自己來實現(xiàn)還是有一些坑的

1.判斷正負(fù)

這點很容易忘記

2.python不能字符串減法

python不能像c++一樣直接使用s - '0'直接實現(xiàn)個位數(shù)的字符串轉(zhuǎn)整型,而是需要轉(zhuǎn)換ascii碼,ord(s) - ord('0')來實現(xiàn)轉(zhuǎn)換

3.判斷是否超限

這也是手寫int函數(shù)最容易忽略的問題,返回結(jié)果不能出int的限制,python中int類型的最大值使用sys.maxint查看。但是python語言很神奇,實際上python內(nèi)置的int方法并沒有結(jié)果必須小于maxint的限制

下面給出我的python實現(xiàn)

#!/use/bin/env python# _*_ coding:utf-8 _*_import sysmax_int = sys.maxintnum_tuple = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')def _int(input_string): total_num = 0 is_minus = False string = input_string.strip() if string.startswith('-'):  is_minus = True  string = string[1:] for s in string:  if s not in num_tuple:   print "input error"   return 0  num = ord(s) - ord('0')  total_num = total_num * 10 + num  if total_num > max_int:   total_num = max_int   break return total_num * -1 if is_minus else total_num

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 托克托县| 柳州市| 凤山市| 鹤岗市| 佳木斯市| 腾冲县| 慈利县| 西乡县| 芜湖市| 金昌市| 土默特左旗| 福贡县| 保靖县| 河池市| 静乐县| 宁都县| 义乌市| 互助| 疏勒县| 固安县| 永靖县| 镇平县| 玉环县| 女性| 洪雅县| 闸北区| 濮阳县| 陈巴尔虎旗| 民丰县| 河南省| 彝良县| 清苑县| 漳州市| 瓮安县| 邵武市| 阳城县| 库车县| 调兵山市| 江源县| 思南县| 海城市|