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函数是把字符串中的大小写互换,明确了功能需求实现起来就不是那么困难了