python 字符串转换成整数

每天一道算法题1(StrToInt) 题目: 输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。 阅读详情

| String to Int

写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。
首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。
当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。
该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。
注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。
在任何情况下,若函数不能进行有效的转换时,请返回 0。

说明:
假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231,  231 − 1]。如果数值超过这个范围,请返回  INT_MAX (231 − 1) 或 INT_MIN (−231) 。

示例 1:

输入: "42"
输出: 42
示例 2:

输入: "   -42"
输出: -42
解释: 第一个非空白字符为 '-', 它是一个负号。
     我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。
示例 3:

输入: "4193 with words"
输出: 4193
解释: 转换截止于数字 '3' ,因为它的下一个字符不为数字。
示例 4:

输入: "words and 987"
输出: 0
解释: 第一个非空字符是 'w', 但它不是数字或正、负号。
     因此无法执行有效的转换。
示例 5:

输入: "-91283472332"
输出: -2147483648
解释: 数字 "-91283472332" 超过 32 位有符号整数范围。 
     因此返回 INT_MIN (−231) 。
class Solution:
    """
    解题思路:
    1.过滤不符合要求的数据,直接return 0
    2.截取目标字符串(整数字符串)
    3.将字符串转化为整数
    4.注意边界值int 正数小于2**31  负数大于-2**31 - 1
    """
    def strToInt(self, s: str) -> int:
        to_int = {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8,'9':9}
        s = s.strip()
        length = len(s)
        sign = False
        j = 0
        if not s: 
            return 0
        if s[0] == '-':
            j = 1
            sign = True
        elif s[0] == '+':
            j = 1
        elif not s[0].isdigit():
            return 0


        # 计算数字字符串
        num_str = ''
        while j < length:
            if s[j].isdigit():
                num_str+=s[j]
            else:
                break
            j+=1
        return self.string_to_int(num_str, to_int, sign)

    # 字符串数字转化为整数步骤
    def string_to_int(self, string, to_int, sign):
        length = len(string)
        num_val = 0
        while length > 0:
            for s in string:
                r = to_int[s]*10**(length-1)
                num_val += r
                length -= 1
        if sign is False:
            if num_val > 2**31-1:
                return 2**31-1
            return num_val 
        else:
            if -num_val < -2**31:
                return -2**31
            return -num_val
解决Python的str强转int时遇到的问题 下面小编就为大家分享一篇解决Python的str强转int时遇到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 立即下载

相关推荐

EDSR-PyTorch实战:从模型下载到超分辨率图像生成

本文详细介绍了如何使用PyTorch实现EDSR模型进行超分辨率图像生成,包括环境配置、模型下载、参数调优及常见问题解决方案。EDSR作为超分辨率重建的利器,通过深度残差网络显著提升图像质量,特别适合老照片修复等场景。文章还提供了视频处理和自定义训练的进阶技巧,帮助开发者快速掌握这一技术。

weixin_29046035的博客 458

Python –如何将String转换为int

在Python中,我们可以使用int()将String转换为int。 # String num1 = "88" # <class 'str'> print(type(num1)) # int num2 = int(num1) # <class 'int'> print(type(num2)) 1.例子 一个将两个数字相加的Python示例。 1.1直...

一名可爱的技术搬运工 5万+

Revit二次开发之双事件:空闲事件与DocumentChanged事件

对以下文章所展示的代码进行了修改,当前展示的代码可直接复制使用。 由于本人初学,下列语言为个人理解,如有错误请指正。   《引用1》中: 使用模态对话框,或者尽量保证事件在ExternalCommand的Execute函数或者ExternalApplication的OnStartup函数里面注册。 如果一定要使用非模态对话框,那么请使用ExternalEvent事件的Raise函数,强迫...

一个Revit二次开发的实习生 6147

力扣(LeetCode):字符串转换整数 (atoi)

请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...

ctrigger的专栏 936

多元相关性分析_PAST:最简便易用的统计学分析软件教程目录

欢迎来到PAST的世界!本教程并不是将PAST的所有功能均进行详细介绍,而只是挑选与生物、医学、微生物研究相关的统计学分析内容进行讲述。根据PAST内各项分析的标签分类,将该教程具体设置如下:PAST软件介绍PAST的基本信息数据的输入和修改数据的转换和标准化图像绘制 (Plot标签)点线图和直方图散点图条形图和箱须图饼图堆叠条形图三元相图气泡图单变量统计学分析 (Univariate标...

weixin_39605706的博客 3156

CST仿真提速秘籍:用好Local Mesh,别再让简单结构拖慢你的仿真速度

本文深入探讨了CST仿真中Local Mesh技术的应用,通过区域加密与全局排除策略,显著提升电磁仿真效率。针对5G天线阵列、微波滤波器等多尺度结构模型,提供了网格划分的黄金法则和实战技巧,帮助工程师优化仿真速度与精度,特别适用于电磁仿真和网格设置场景。

weixin_27134495的博客 406

将Python字符串转换为Int,将Int转换为String

In this tutorial, we will learn how to convert python String to int and int to String in python. In our previous tutorial we learned about Python List append function. 在本教程中,我们将学习如何在python中将python Str...

从零开始的教程世界 2万+

QT+OSG/osgEarth编译之七十六:gltf+Qt编译(一套代码、一套框架,跨平台编译,版本:osgEarth-3.3插件库osgdb_gltf)

通过一套gltf代码和框架,实现osgdb_gltf跨平台编译。 在Qt环境下,集成头文件、库文件,构建跨平台编译的pro文件。 通过构建的一套配置工程,基于Qt Creator IDE,完成跨平台的编译实践。 在Windows、Linux、MacOS等操作系统上进行测试,成功编译,形成的成果(头文件、库文件等)可在不同系统下调用或使用,从而更好地构建跨平台解决方案。 采用的是osgEarth3.3版本。 读者可参考博客中的集成原理,构建不同版本的osgdb_gltf跨平台包。

LuckyHanMo的博客 1802

python 16进制字符串转换成整数

实现python 16进制字符串转换成整数。注意hex() 返回值是字符串。

lllhyh的博客 445

用一套可追溯的闭环,把设备变成可管理的资产:SAP S/4HANA Asset Management 模块详解

摘要:SAP S/4HANA的资产管理模块(EAM)通过标准化流程管理企业资产全生命周期,解决资产状态、需求和资源的不确定性。系统将资产抽象为技术对象,支持纠正性和预防性维护流程,通过维护工单实现可执行的工作包,并与物料管理、财务、生产计划等模块集成形成管理闭环。该模块可帮助降低非计划停机时间,通过数据驱动决策优化维护策略,提升资产可用率和运营效率。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 254

(8)(8.19) GPIOs

Ardupilot官网关于《Copter》的翻译 —《(8.19) GPIOs》。

无人机开发(开源Ardupilot) 1万+

Python:把字符串转换成整数

牛客网上的剑指 offer的在线编程: 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 # -*- coding:utf-8 -*- ''' 把字符串转换成整数 题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 ''' clas

Lynette_bb的博客 5509

YOLOv11 改进 - 注意力机制 | 空间增强注意力SEAM(Spatially Enhanced Attention Module)提升遮挡场景检测鲁棒性

本文介绍了分离与增强注意力模块(SEAM)在YOLOv11中的结合应用。SEAM模块旨在增强面部特征学习能力,特别是处理面部遮挡问题。它采用多头注意力机制强调面部区域、抑制背景区域,第一部分使用深度可分离卷积减少参数并学习通道重要性,通过1x1卷积增强通道联系,利用两层全连接网络融合通道信息,经指数归一化后作为注意力权重与原始特征相乘。我们将SEAM集成到YOLOv11的检测头中,并进行相关注册和配置。实验表明,该方法有助于提升模型检测性能。

魔改工程师的博客 1665

python 把字符串转换成整数

''' 题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能, 但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 ''' # -*- coding:utf-8 -*- class Solution: def StrToInt(self, s): # wr...

WYXHAHAHA123的博客 6653

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【python】将字符串转换成整数类型

【代码】【python】将字符串转换成整数类型。

lele_ne的博客 241

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

python字符串转换成整数_【算法23】把字符串转换成整数

【题 目】输入一个表示整数的字符串,把该字符串转换成整数并输出。例如:输入“123”,输出整数123.【思 路】当然首先想到的就是C语言库函数atoi,一行代码就完事了,当然我们是想不借助该库函数来实现自己的算法。首先,我们考虑怎么把字符串转换成整数,我们输入“123”,我们可以遍历这个字符串,首先读入1,然后读到2,这时我们想要的是12=1×10+2;然后读入3,我们想要的是123=12...

weixin_39983404的博客 645

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python字符串转换成整数_在Python中将字符串转换为整数的方法

在本文中,我们将向你展示如何将Python字符串转换为整数,可在Linux操作平台上进行。Python中的所有数据类型(包括整数和字符串)都是对象,通常在编写Python代码时,你需要将一种数据类型转换为另一种数据类型,例如,要对表示为字符串的数字进行数学运算,需要将其转换为整数。安装Python参考:在CentOS 7/Ubuntu 16.04/Debian 9/macOS上安装Python 3...

weixin_39792472的博客 3860

python字符串转整数_Python使用函数实现把字符串转换成整数

原博文2018-01-11 15:50 −需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345 思路 1,字符串也是序列可以使用map函数处理分割成一个列表 2,使用reduce函数处理生成的列表计算出最终转换的整数结果 #导入re...相关推荐2019-09-28 21:13 −Python python是一种...

weixin_39519554的博客 1055

python中用bin()函数将十进制整数转换成二进制字符串

十进制整数转换成二进制字符串

2301_82241026的博客 600

剑指Offer(四十九):把字符串转换成整数(C++/Python)

题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 输入 +2147483647 1...

qq_41562704的博客 256

【python】float()将字符串或整数转换成浮点数

【python】float()将字符串或整数转换成浮点数。

lele_ne的博客 396

python-整数转换成字符串

现将整数转换成列表,然后由列表转成字符串 def int_to_str(int_num): lst = [] s = '' while int_num > 0: num = int_num % 10 lst.append(num) int_num //= 10 for i in lst[::-1]: s+=str(i) return s 1、字符串可以直接相加 a = 'fjijgi'

黑手黛博拉的博客 4477

python实现字符串转换成整数atoi

一、题目要求 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余...

hard_days的博客 1491

Python123:字符串替换、字符串转换成十进制整数(C语言)

Python123:字符串替换、字符串转换成十进制整数(C语言)

chat8052的博客 653

python字符串转换成整数_python将字符串转换成整型

将字符串转换成,整型,从字面理解很容易让人误会。比如,要把这个"abcabc"转换成整型,臣妾做不到啊。除成转成ascii。我们所说字符串转成整型是这样的。s = "12"s= "12.12"我们自己写一个函数,来实现这个转换。思想:python提供转换成整型用int()这关键字,那么,如果我这样int('12') int(12.12)这样是可以转成整型的。但是如果int('abc') int('...

weixin_39742471的博客 855

Python使用函数实现把字符串转换成整数

需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345 思路 1,字符串也是序列可以使用map函数处理分割成一个列表    2,使用reduce函数处理生成的列表计算出最终转换的整数结果 #导入reduce函数模块 from functools import reduce #定义reduce函数处...

abtmh02622的专栏 561
上一篇: python删除排序数组中的重复项
下一篇: python 零矩阵
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶知秋的BLOG

创作不易 请多多关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值