View on GitHub

Tri3-IndivRepo

Alex Do's Individual Repository for Tri 3 Data Structures

Back

Code Snippet for infoDB

InfoDb = []

InfoDb.append({
    "CompanyName": "Toyota",
    "CEO": "Akio Toyoda",
    "Recent_Models": ["2022 Toyota Corolla Cross", "Toyota bZ4X Concept", "2022 Toyota GR 86", "2022 Toyota GR Supra A91-CF Edition", "2022 Toyota Tacoma TRD Pro"]
})

InfoDb.append({
    "CompanyName": "Ford",
    "CEO": "Jim Farley",
    "Recent_Models": ["2022 Ford Mustang", "2022 Ford Bronco", "2022 Ford Ranger", "2022 Ford F-150", "2022 Ford Explorer"]
})

InfoDb.append({
    "CompanyName": "BMW",
    "CEO": "Oliver Zipse",
    "Recent_Models": ["2022 BMW 2 Series Gran Coupe", "2021 BMW 2-Series", "2022 BMW 3-Series", "2022 BMW X1", "2022 BMW X6"]
})

InfoDb.append({
    "CompanyName": "Volkswagen",
    "CEO": "Herbert Diess",
    "Recent_Models": ["Volkswagen Golf 8 GTI", "Volkswagen Tiguan Facelift", "Volkswagen Kombi T6", "Volkswagen Crafter Update", "2022 Volkswagen ID.4"]
})


# given an index this will print InfoDb content
def print_data(n):
    print(InfoDb[n]["CompanyName"], InfoDb[n]["CEO"])  # using comma puts space between values
    print("\t", "Recent Models: ", end="")  # \t is a tab indent, end="" make sure no return occurs
    print(", ".join(InfoDb[n]["Recent_Models"]))  # join allows printing a string list with separator
    print()

# Hack 2: InfoDB loops. Print values from the lists using three different ways: for, while, recursion
# hack 2a: def for_loop()
# hack 2b: def while_loop(0)
# hack 2c : def recursive_loop(0)


def for_loop():
    for n in range(len(InfoDb)):
        print_data(n)


def while_loop(n):
    while n < len(InfoDb):
        print_data(n)
        n += 1
    return


# recursion simulates loop incrementing on each call (n + 1) until exit condition is met
def recursive_loop(n):
    if n < len(InfoDb):
        print_data(n)
        recursive_loop(n + 1)
    return  # exit condition


def recur_factorial(n):
    if n == 1 or n == 0:
      return 1
    else:
        return n * recur_factorial(n-1)


def tester():
    print("For loop")
    for_loop()
    print("While loop")
    while_loop(0)  # requires initial index to start while
    print("Recursive loop")
    recursive_loop(0)  # requires initial index to start recursion


tester()