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中使用Tkinter模块创建GUI程序实例
Jan 14 Python
Python实现竖排打印传单手机号码易撕条
Mar 16 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
Python数据结构与算法之字典树实现方法示例
Dec 13 Python
Flask之flask-session的具体使用
Jul 26 Python
Python学习笔记之集合的概念和简单使用示例
Aug 22 Python
Python 3.8正式发布,来尝鲜这些新特性吧
Oct 15 Python
python多进程重复加载的解决方式
Dec 13 Python
PyTorch中permute的用法详解
Dec 30 Python
python实现双色球随机选号
Jan 01 Python
python正则表达式实例代码
Mar 03 Python
python pandas.DataFrame.loc函数使用详解
Mar 26 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
用PHP实现递归循环每一个目录
2010/08/08 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
深入分析JSONP跨域的原理
2014/12/10 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
keras 多任务多loss实例
2020/06/22 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
JNI的定义
2012/11/25 面试题
90后毕业生的求职信范文
2013/09/21 职场文书
汽车销售求职自荐信
2013/10/01 职场文书
国家助学金获奖感言
2014/01/31 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
拖欠货款起诉状
2015/05/20 职场文书
郭明义观后感
2015/06/08 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书