您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 在没有int()的情况下将String转换为Int

5b51 2022/1/14 8:20:46 python 字数 1824 阅读 467 来源 www.jb51.cc/python

我正在尝试在Python中实现add2strings,sub2strings,mult2strings函数.如果你只是做int(字符串),它们都很容易,但我想在没有它的情况下完成它们而不导入像Decimal那样的另一个作弊行为.我目前的想法是使用字节.还有另一种方法吗?最佳答案参考C中的基本atoi:int myAtoi(char *str) { i

概述

我正在尝试在Python中实现add2strings,sub2strings,mult2strings函数.如果你只是做int(字符串),它们都很容易,但我想在没有它的情况下完成它们而不导入像Decimal那样的另一个作弊行为.我目前的想法是使用字节.

还有另一种方法吗?

int myAtoi(char *str)
{
    int res = 0; // Initialize result

    // Iterate through all characters of input string and update result
    for (int i = 0; str[i] != '\0'; ++i)
        res = res*10 + str[i] - '0';

    // return result.
    return res;
}

这转化为Python:

def atoi(s):
    rtr=0
    for c in s:
        rtr=rtr*10 + ord(c) - ord('0')

    return rtr

测试一下:

>>> atoi('123456789')
123456789   

如果你想以int的方式容纳一个可选的符号和空格:

def atoi(s):
    rtr,sign=0,1
    s=s.strip()
    if s[0] in '+-':
        sc,s=s[0],s[1:]
        if sc=='-':
            sign=-1

    for c in s:
        rtr=rtr*10 + ord(c) - ord('0')

    return sign*rtr

现在添加例外,你就在那里!

总结

以上是编程之家为你收集整理的python – 在没有int()的情况下将String转换为Int全部内容,希望文章能够帮你解决python – 在没有int()的情况下将String转换为Int所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶