CMU Coding Bootcamp

feat: oct 2 level 1

thecoded.prof e56923ae 64ce9ee0

verified
+20
python/oct2/level1/interleaveStrings.py
··· 1 + def interleaveStrings(s1: str, s2: str) -> str: 2 + """Interleave two strings.""" 3 + s = "" 4 + for i in range(max(len(s1), len(s2))): 5 + if i < len(s1): 6 + s += s1[i] 7 + if i < len(s2): 8 + s += s2[i] 9 + return s 10 + 11 + 12 + print("Testing interleaveStrings()...", end="") 13 + assert interleaveStrings("pto", "yhn") == "python" 14 + assert interleaveStrings("ab", "xyz?") == "axbyz?" 15 + assert interleaveStrings("a", "b") == "ab" 16 + assert interleaveStrings("xyz", "a b") == "xay zb" 17 + assert interleaveStrings("", "cpcs1") == "cpcs1" 18 + assert interleaveStrings("cpcs1", "") == "cpcs1" 19 + assert interleaveStrings("", "") == "" 20 + print("Passed!")
+19
python/oct2/level1/largestNumber.py
··· 1 + def largestNumber(text: str) -> int | None: 2 + """Find the largest number in a string.""" 3 + number = [int(word) for word in text.split() if word.isdigit()] 4 + return max(number) if number else None 5 + 6 + 7 + print("Testing largestNumber()...", end="") 8 + assert largestNumber("I saw 3 dogs, 17 cats, and 14 cows!") == 17 9 + assert largestNumber("One person ate two hot dogs!") == None 10 + assert largestNumber("There are no numbers in this text.") == None 11 + assert largestNumber("I have 2 cats, but the shelter has 20") == 20 12 + text = "It is 82 degrees Fahrenheit, which is 28 degree Celsius." 13 + assert largestNumber(text) == 82 14 + text = "Not one of my 10 penguins are taller than 2 feet 11 inches." 15 + assert largestNumber(text) == 11 16 + assert largestNumber("15-112 is also 112 and is my favorite class.") == 112 17 + assert largestNumber("0 classifies as an integer") == 0 18 + assert largestNumber("") == None 19 + print("Passed!")
+14
python/oct2/level1/rotateString.py
··· 1 + def rotateString(s: str, k: int) -> str: 2 + """Rotate a string by k positions.""" 3 + k %= len(s) 4 + return s[k:] + s[:k] 5 + 6 + 7 + print("Testing rotateString()...", end="") 8 + assert rotateString("abcd", 1) == "bcda" 9 + assert rotateString("abcd", -1) == "dabc" 10 + assert rotateString("efgh", 4) == "efgh" 11 + assert rotateString("coffee", 2) == "ffeeco" 12 + assert rotateString("112cmu", -3) == "cmu112" 13 + assert rotateString("water", -9) == "aterw" 14 + print("Passed!")
+24
python/oct2/level1/sameChars.py
··· 1 + def sameChars(s1: str, s2: str) -> bool: 2 + """Check if two strings have the same characters regardless of order or count.""" 3 + if not (isinstance(s1, str) and isinstance(s2, str)): 4 + return False 5 + c1 = list(set(s1)) 6 + c2 = list(set(s2)) 7 + c1.sort() 8 + c2.sort() 9 + print(c1, c2) 10 + return c1 == c2 11 + 12 + 13 + print("Testing sameChars()...", end="") 14 + assert sameChars("abc", "bac") == True 15 + assert sameChars("aaaaabbbbbbccccc", "abc") == True 16 + assert sameChars("abc", "ba") == False 17 + assert sameChars("ba", "abc") == False 18 + assert sameChars("AAAAAAaaaa", "Aa") == True 19 + assert sameChars("NNN", "n") == False 20 + assert sameChars("123", "123") == True 21 + assert sameChars("", "a") == False 22 + assert sameChars("", "") == True 23 + assert sameChars(14, "14") == False 24 + print("Passed!")
+13
python/oct2/level1/vowelCount.py
··· 1 + def vowelCount(s: str) -> int: 2 + """Count the number of vowels (a, e, i, o, u) in a string.""" 3 + s = s.lower() 4 + return s.count("a") + s.count("e") + s.count("i") + s.count("o") + s.count("u") 5 + 6 + 7 + print("Testing vowelCount()...", end="") 8 + assert vowelCount("Abc def!!! a? yzyzyz!") == 3 9 + assert vowelCount("Hi! How are you?") == 6 10 + assert vowelCount("AAAEEEiOL") == 8 11 + assert vowelCount("Rhythm") == 0 12 + assert vowelCount("WHY, TRY SHY FLY RHYTHMS SLYLY.") == 0 13 + print("Passed!")