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判断windows隐藏文件的方法
Mar 21 Python
Python入门篇之面向对象
Oct 20 Python
C#返回当前系统所有可用驱动器符号的方法
Apr 18 Python
window下eclipse安装python插件教程
Apr 24 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
在python中bool函数的取值方法
Nov 01 Python
对django xadmin自定义菜单的实例详解
Jan 03 Python
基于Python共轭梯度法与最速下降法之间的对比
Apr 02 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
opencv 图像加法与图像融合的实现代码
Jul 08 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
Python爬虫之爬取二手房信息
Apr 27 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php中static静态变量的使用方法详解
2010/06/04 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php计算税后工资的方法
2015/07/28 PHP
十大使用PHP框架的理由
2015/09/26 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
python 类详解及简单实例
2017/03/24 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
Python解惑之整数比较详解
2017/04/24 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
护士实习生自我鉴定范文
2013/12/10 职场文书
应付会计岗位职责
2013/12/12 职场文书
20年同学聚会感言
2014/02/03 职场文书
2014年司法局工作总结
2014/12/11 职场文书
在校学生证明格式
2015/06/24 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript