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判断给定的字符串是否是有效日期的方法
May 13 Python
浅谈python对象数据的读写权限
Sep 12 Python
Python基于Floyd算法求解最短路径距离问题实例详解
May 16 Python
详解Python静态网页爬取获取高清壁纸
Apr 23 Python
Python 占位符的使用方法详解
Jul 10 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
wxPython多个窗口的基本结构
Nov 19 Python
Django --Xadmin 判断登录者身份实例
Jul 03 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
python模块与C和C++动态库相互调用实现过程示例
Nov 02 Python
django 认证类配置实现
Nov 11 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
在PWS上安装PHP4.0正式版
2006/10/09 PHP
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
PHP 无限级分类
2017/05/04 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
vue项目引入字体.ttf的方法
2018/09/28 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
es6函数之尾调用优化实例分析
2020/04/25 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
Python中的descriptor描述器简明使用指南
2016/06/02 Python
使用Python绘制图表大全总结
2017/02/11 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
python查看列的唯一值方法
2018/07/17 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
金融专业应届生求职信
2013/11/02 职场文书
法学院毕业生求职信
2014/06/25 职场文书
党员公开承诺书2016
2016/03/24 职场文书
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis