Python不使用int()函数把字符串转换为数字的方法
作者:xiemanR 发布时间:2022-04-22 02:32:33
标签: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
来源:https://blog.csdn.net/xiemanR/article/details/72824606


猜你喜欢
- 1. 从键盘输入一个整数,求 100 除以它的商,并显示输出。要求对从键盘输入的数值进行异常处理。try: n=i
- 正则表达式的介绍1)在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱、手机号码等,这时候想匹配或者查找符合某些规则的字
- 本文记录了RHEL7.5下mysql 8.0.11安装教程,具体内容如下首先去mysql官网下载mysql-8.0.11-el7-x86_6
- 经常在办公的过程中会遇到各种各样的压缩文件处理,但是呢每个压缩软件支持的格式又是不同的。没有可以一种可以同时多种格式的并且免费的文件解压缩工
- 一、窗口函数的基本用法从MySQL8之后才开始支持窗口函数<窗口函数> OVER ([PARTITION BY <用于分组
- python 调用系统ffmpeg进行视频截图,并进行图片http发送ffmpeg ,视频、图片的各种处理。 最近在做视频、图片
- zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:1.示例1:x = [1
- 简介CSS Sprites并没有一个确定的中文翻译,通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技
- 本文实例讲述了使用Python生成XML的方法。分享给大家供大家参考,具体如下:1. bookstore.py#encoding:utf-8
- MHA介绍MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10—30秒
- 一、问题描述最近遇到一个问题,也就是使用分区表进行数据查询/加载的时候比普通表的性能下降了约50%,主要瓶颈出现在CPU,既然是CPU瓶颈理
- 开始这是去年的问题了,今天在整理邮件的时候才发现这个问题,感觉顶有意思的,特记录下来。在表RelationGraph中,有三个字段(ID,N
- 本文实例讲述了JSP使用MVC模式完成删除和修改功能的方法。分享给大家供大家参考。具体如下:目标:① 进一步理解MVC模式;② 掌握删除功能
- replace(param1,param2,param3)param1 正则表达式;param2 将匹配的字符替换成指定字符;param3
- 相信大家从去年圣诞节开始,逐渐发现淘宝网首页的标志开始有了新的形式,从过往的静态图片节日LOGO变成了FLASH的动画小故事LO
- 在python中gui编程有很多中选择,如果是相对简单的gui的话使用python自带的tkinter即可,但是由于tkinter没有详细的
- 前言最近发现了一个可以把照片美化的项目,自己玩了玩,挺有意思的,分享一下。Github地址:DPED项目地址下面来看看项目怎么玩?先放一些项
- keys()方法返回在字典中的所有可用的键的列表。语法以下是keys()方法的语法:dict.keys()参数 &nb
- 插入: oEditor.FCKSelection.GetSelectedElement(); oEditor.FCK.InsertHtml(
- 本文实例讲述了Python进程池Pool应用。分享给大家供大家参考,具体如下:当需要创建的子进程数量不多时,可以直接利用multiproce