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

yipeiwu_com6年前Python基础

不使用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实现画圆功能

python实现画圆功能

本文实例为大家分享了python实现画圆功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ __author__= 'Du' __...

Python发送http请求解析返回json的实例

python发起http请求,并解析返回的json字符串的小demo,方便以后用到。 #! /usr/bin/env python # -*- coding:gbk -*-...

Python实现基于KNN算法的笔迹识别功能详解

Python实现基于KNN算法的笔迹识别功能详解

本文实例讲述了Python实现基于KNN算法的笔迹识别功能。分享给大家供大家参考,具体如下: 需要用到: Numpy库 Pandas库 手写识别数据 点击此处本站下载。...

Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解

Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解

本文实例讲述了Python3.5变量、数据结构、条件和循环语句、break与continue语句。分享给大家供大家参考,具体如下: 1、变量:即一个容器概念 Python中的变量时一个...

Python实现简单的多任务mysql转xml的方法

本文实例讲述了Python实现简单的多任务mysql转xml的方法。分享给大家供大家参考,具体如下: 为了需求导出的格式尽量和navicat导出的xml一致。 用的gevent,文件i/...