Python 为什么下面的代码返回Null而不是“0123456789”

Python 为什么下面的代码返回Null而不是“0123456789”,python,Python,这是我的密码。如果s=0123456789,为什么下面的代码返回Null而不是0123456789 def longestDigitsPrefix(s): res = '' for i in s: if i.isdigit() is True: res = res + i else: return res 因为所有的s都是数字,所以只执行if语句的第一个块,所以还需要另一个return语句: de

这是我的密码。如果s=0123456789,为什么下面的代码返回Null而不是0123456789

def longestDigitsPrefix(s):
    res = ''

    for i in s:
        if i.isdigit() is True:
            res = res + i
        else:
            return res

因为所有的s都是数字,所以只执行if语句的第一个块,所以还需要另一个return语句:

def longestDigitsPrefix(s):
    res = ''

    for i in s:
        if i.isdigit() is True:
            res = res + i
        else:
            return res
    return res

返回不在第一个if子句中。换句话说,当我是一个数字时,你永远不会回来。如果i.isdigit,也可以这样做,您不需要将True与True进行比较。i、 isdigit应该已经为True或False。看起来您正在尝试向[string]添加[int]。