python如何实现int函数的方法示例


Posted in Python onFebruary 19, 2018

前言

拖了这么久,最终还是战胜了懒惰,打开电脑写了这篇博客,内容也很简单,python实现字符串转整型的int方法

python已经实现了int方法,我们为什么还要再写一遍,直接用不就好了?事实确实如此,但是int函数看似简单,实际上自己来实现还是有一些坑的

1.判断正负

这点很容易忘记

2.python不能字符串减法

python不能像c++一样直接使用s - '0'直接实现个位数的字符串转整型,而是需要转换ascii码,ord(s) - ord('0')来实现转换

3.判断是否超限

这也是手写int函数最容易忽略的问题,返回结果不能出int的限制,python中int类型的最大值使用sys.maxint查看。但是python语言很神奇,实际上python内置的int方法并没有结果必须小于maxint的限制

下面给出我的python实现

#!/use/bin/env python
# _*_ coding:utf-8 _*_
import sys
max_int = sys.maxint
num_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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
基python实现多线程网页爬虫
Sep 06 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
Python实现简单石头剪刀布游戏
Jan 20 Python
Django框架实现分页显示内容的方法详解
May 10 Python
python写入文件自动换行问题的方法
Jul 05 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
Python tkinter常用操作代码实例
Jan 03 Python
Python包和模块的分发详细介绍
Jun 19 Python
Python中常见的导入方式总结
May 06 Python
Python IO文件管理的具体使用
Mar 20 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 #Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 #Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 #Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 #Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 #Python
python快速建立超简单的web服务器的实现方法
Feb 17 #Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 #Python
You might like
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
Javascript的一种模块模式
2008/03/22 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python基于Tkinter实现的记事本实例
2015/06/17 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
运动会跳远加油稿
2014/02/20 职场文书
交通违章检讨书
2014/09/21 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
预备党员介绍人意见
2015/06/01 职场文书
蜗居观后感
2015/06/11 职场文书
八一建军节主持词
2015/07/01 职场文书
初中生物教学随笔
2015/08/15 职场文书