Python不使用int()函数把字符串转换为数字的方法


Posted in Python onJuly 09, 2018

不使用int()函数的情况下把字符串转换为数字,如把字符串"12345"转换为数字12345。

方法一:利用str函数

既然不能用int函数,那我们就反其道而行,用str函数找出每一位字符表示的数字大写。

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函数

利用ord求出每一位字符的ASCII码再减去字符0的ASCII码求出每位表示的数字大写。

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函数

eval的功能是将字符串str当成有效的表达式来求值并返回计算结果。我们利用这特点可以利用每位字符构造成和1相乘的表达式,再用eval算出该表达式的返回值就表示数字大写。

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()函数把字符串转换为数字的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python将xml和xsl转换为html的方法
Mar 10 Python
进一步理解Python中的函数编程
Apr 13 Python
Python如何实现文本转语音
Aug 08 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
python实现简单遗传算法
Mar 19 Python
Python 查找字符在字符串中的位置实例
May 02 Python
python 列表降维的实例讲解
Jun 28 Python
详解django.contirb.auth-认证
Jul 16 Python
python生成器与迭代器详解
Jan 01 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
python中ASCII码和字符的转换方法
Jul 09 #Python
python中ASCII码字符与int之间的转换方法
Jul 09 #Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 #Python
python 以16进制打印输出的方法
Jul 09 #Python
python爬虫之urllib3的使用示例
Jul 09 #Python
机器学习之KNN算法原理及Python实现方法详解
Jul 09 #Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 #Python
You might like
《APMServ 5.1.2》使用图解
2006/10/23 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
thinkPHP查询方式小结
2016/01/09 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
php-msf源码详解
2017/12/25 PHP
ie支持function.bind()方法实现代码
2012/12/27 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
整理Python中的赋值运算符
2015/05/13 Python
python 系统调用的实例详解
2017/07/11 Python
Python正则表达式知识汇总
2017/09/22 Python
python去除文件中重复的行实例
2018/06/29 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
python关于变量名的基础知识点
2020/03/03 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
小学庆六一活动方案
2014/02/28 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
明星邀请函
2015/02/02 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
2015年暑假生活总结
2015/07/13 职场文书
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript