Python:查找字符串中最大偶数位数的函数

2024-09-30 14:37:43 发布

您现在位置:Python中文网/ 问答频道 /正文

希望找到一种方法,使函数返回(st)中的最大/最大偶数位数,如果(st)没有偶数位数,则函数将结果返回-3。非常感谢您的帮助。下面的代码是我的尝试,并没有得到我希望的结果,只是开始学习如何使用python。谢谢您。我使用的是python3.6

def maximumeven(st):
    Result = 0
    for i in (st):
        if i.isdigit():
            if (int(i) % 2 == 0):
                Result = Result + int(max(i))
            return Result
print(maximum("124A2"))

Tags: 方法函数代码inforifdefresult
2条回答

试试这个代码:。在

def maximumeven(st):
    Result = []
    for i in (st):
        if i.isdigit():
            if (int(i) % 2 == 0):
                Result.append(int(i))

    if not len(Result):
        Result = -3
    return Result
func = maximumeven("124dsd89")
print(max(func) if type(func) is list else func)

输出:8

如果你真的只想要最大的偶数,那么既然只有五个单位数的偶数,我就用:

def maximumeven(st):
    if "8" in st:
        return 8
    if "6" in st:
        return 6
    if "4" in st:
        return 4
    if "2" in st:
       return 2
    if "0" in st:
       return 0

    return -3

print(maximumeven("124A2")) #4
print(maximumeven("13579")) #-3
print(maximumeven("2468")) #8

一种更高效的解决方案,只在字符串上迭代一次,如果达到8,则提前退出:

^{pr2}$

相关问题 更多 >