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 MySQLdb Windows下安装教程及问题解决方法
May 09 Python
利用Python获取赶集网招聘信息前篇
Apr 18 Python
Python脚本实现自动发带图的微博
Apr 27 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
Django数据库表反向生成实例解析
Feb 06 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
python通过zabbix api获取主机
Sep 17 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
python index() 与 rindex() 方法的使用示例详解
Dec 24 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
php生成excel列序号代码实例
2013/12/24 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php转换颜色为其反色的方法
2015/04/27 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
简单介绍Python中的JSON使用
2015/04/28 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
阿迪达斯比利时官方商城:adidas比利时
2016/10/10 全球购物
中国网上药店领导者:1药网
2017/02/16 全球购物
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
项目经理岗位职责
2013/11/11 职场文书
会计演讲稿范文
2014/05/23 职场文书
助残日活动总结
2014/08/27 职场文书
2016新年慰问信范文
2015/03/25 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server
flex弹性布局详解
2022/03/20 HTML / CSS
python区块链持久化和命令行接口实现简版
2022/05/25 Python