【python程序员面试宝典|程序员算法宝典】

【python】判断字符串是否是整数?

2019-07-25  本文已影响0人  阿牛02

题目:写一个方法,检查字符串是否是整数,如果是整数,那么返回其整数值。

分析:整数可分为负数与非负数,负数只有一种表示方法,而非负数可以有两种表示方法。例如-123,123,+123,因此再判断字符串是否为整数的时候,需要考虑。

code:

def isNumber(c):

    return c >= '0' and c <= '9'

def strToint(strs):

    if strs is None:

        flag = False

        print("不是数字")

        return -1

    flag = True

    res = 0

    i = 0

    minus = False  # 是否是负数

    if list(strs)[0] =='-':

        minus = True

        i = 1

    if list(strs)[0] == "+":

        minus = False

        i = 1

    while i < len(strs):

        if isNumber(list(strs)[i]):

            res = res * 10 + ord(list(strs)[i]) - ord('0')

        else:

            flag = False

            print("不是数字")

            return -1

        i += 1

    return -res if minus else res

if __name__ == "__main__":

    s = '-543'

    print(strToint(s))

程序运行结果:

-543

上一篇 下一篇

猜你喜欢

热点阅读