怎么定义两个函数,符合如下面的输出

def howmany(s : str, e : str) -> int:
    "how many of the characters in e appear in s"


def reverse(s: str) -> int:
    "convert upper case to lower case and lower case to upper case"





def test_howmany():
    howmany("abcde","abcde")  #  5
    howmany("ABCDE","abcde")  #  0
    howmany("xxyyzz","xy")    #  2
    howmany("a1343a", "444")  #  1
    howmany("a1343a", "aa")   #  1
    howmany("","123")         #  0
    howmany("1234","")        #  0
    howmany("%","%")          #  1
    howmany("$$","$$")        #  1
    howmany("##@@#","@@@##")  #  2


def test_reverse():
    reverse("abc")    #  "ABC"
    reverse("XYZ")    # "xyz"
    reverse("123")    # "123"
    reverse("ccB bZ") # "CCb Bz"
    reverse(123)      # raises exception

 

两个函数都只需一行代码。

def howmany(s: str, e: str) -> int:
    "how many of the characters in e appear in s"
    
    return sum([1 for i in set(e) if i in set(s)]) 

def reverse(s: str) -> str:
    "convert upper case to lower case and lower case to upper case"

    return s.swapcase()

 

楼上是正解。建议题主在提问时先明确函数的功能需求,比如howmany函数是返回两个字符串中相同的字符数

reverse函数是把字符串中的大小写互换,明确了功能需求实现起来就不是那么困难了