···11+def interleaveStrings(s1: str, s2: str) -> str:
22+ """Interleave two strings."""
33+ s = ""
44+ for i in range(max(len(s1), len(s2))):
55+ if i < len(s1):
66+ s += s1[i]
77+ if i < len(s2):
88+ s += s2[i]
99+ return s
1010+1111+1212+print("Testing interleaveStrings()...", end="")
1313+assert interleaveStrings("pto", "yhn") == "python"
1414+assert interleaveStrings("ab", "xyz?") == "axbyz?"
1515+assert interleaveStrings("a", "b") == "ab"
1616+assert interleaveStrings("xyz", "a b") == "xay zb"
1717+assert interleaveStrings("", "cpcs1") == "cpcs1"
1818+assert interleaveStrings("cpcs1", "") == "cpcs1"
1919+assert interleaveStrings("", "") == ""
2020+print("Passed!")
+19
python/oct2/level1/largestNumber.py
···11+def largestNumber(text: str) -> int | None:
22+ """Find the largest number in a string."""
33+ number = [int(word) for word in text.split() if word.isdigit()]
44+ return max(number) if number else None
55+66+77+print("Testing largestNumber()...", end="")
88+assert largestNumber("I saw 3 dogs, 17 cats, and 14 cows!") == 17
99+assert largestNumber("One person ate two hot dogs!") == None
1010+assert largestNumber("There are no numbers in this text.") == None
1111+assert largestNumber("I have 2 cats, but the shelter has 20") == 20
1212+text = "It is 82 degrees Fahrenheit, which is 28 degree Celsius."
1313+assert largestNumber(text) == 82
1414+text = "Not one of my 10 penguins are taller than 2 feet 11 inches."
1515+assert largestNumber(text) == 11
1616+assert largestNumber("15-112 is also 112 and is my favorite class.") == 112
1717+assert largestNumber("0 classifies as an integer") == 0
1818+assert largestNumber("") == None
1919+print("Passed!")