# Uncomment the functions to run them!

################# For + While Loop Code Tracing #########################

'''
def nestedFor(outerVal, innerVal):
    for i in range(outerVal):
        for j in range(innerVal):
            print(i, j)

print("Calling nestedFor...")
nestedFor(2, 3)
print("Done!")


import random
def mystery(s, length):
    result = ""
    i = 0
    while len(result) < length:
        c = s[i]
        repeat = random.randint(1, 5)
        result = result + c * repeat
        i = i + 1
        if i == len(s):
            i = 0
    return result

print("Calling mystery...")
print(mystery("Hello", 10))
print("Done!")
'''

######################### Strings #########################

'''
def isPalindrome(s):
    return
    
assert(isPalindrome("this is not a palindrome") == False)
assert(isPalindrome("kayak") == True)

# extended test cases
# assert(isPalindrome("a man, a plan, a canal, panama!") == True)
# assert(isPalindrome("a santa at nasa.") == True)

'''
