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中global用法实例分析
Apr 30 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
对Django外键关系的描述
Jul 26 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
Oct 14 Python
python解析命令行参数的三种方法详解
Nov 29 Python
Python字符串的修改方法实例
Dec 19 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
python实现飞机大战项目
Mar 11 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
详解Python中import机制
Sep 11 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 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
咖啡与水的关系
2021/03/03 冲泡冲煮
php whois查询API制作方法
2011/06/23 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
Js+XML 操作
2006/09/20 Javascript
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
Python-基础-入门 简介
2014/08/09 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
python如何实现异步调用函数执行
2019/07/08 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
巴西女装购物网站:Eclectic
2018/04/24 全球购物
创业计划书中包含的9个方面
2013/12/26 职场文书
网络信息管理员岗位职责
2014/01/05 职场文书
高中化学教学反思
2014/01/13 职场文书
初一体育教学反思
2014/01/29 职场文书
生产部管理制度
2014/01/31 职场文书
环境日宣传活动总结
2014/07/09 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技