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本地与全局命名空间用法实例
Jun 16 Python
python的keyword模块用法实例分析
Jun 30 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
Python数据可视化正态分布简单分析及实现代码
Dec 04 Python
python字典快速保存于读取的方法
Mar 23 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
pandas 选择某几列的方法
Jul 03 Python
python简单贪吃蛇开发
Jan 28 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
简单分析python的类变量、实例变量
Aug 23 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 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的memcached客户端memcached
2011/06/14 PHP
php中in_array函数用法探究
2014/11/25 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
PHP实现根据数组某个键值大小进行排序的方法
2018/03/13 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
跟老齐学Python之折腾一下目录
2014/10/24 Python
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
python变量不能以数字打头详解
2016/07/06 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
制药工程专业个人求职自荐信
2014/01/25 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
供货协议书
2014/04/22 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
解析MySQL binlog
2021/06/11 MySQL
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers