# variable of type string
name = "Sri Kotturi"
print("name", name, type(name))

# variable of type integer
age = 16
print("age", age, type(age))

# variable of type float
score = 90.0
print("score", score, type(score))

print()

# variable of type list (many values in one variable)
langs = ["Python", "JavaScript", "Java", "Bash", "html"]
print("langs", langs, type(langs))
print("- langs[2]", langs[2], type(langs[2]))

print()

# variable of type dictionary (a group of keys and values)
person = {
    "name": name,
    "age": age,
    "score": score,
    "langs": langs
}
print("person", person, type(person))
print('- person["name"]', person["name"], type(person["name"]))
name Sri Kotturi <class 'str'>
age 16 <class 'int'>
score 90.0 <class 'float'>

langs ['Python', 'JavaScript', 'Java', 'Bash', 'html'] <class 'list'>
- langs[2] Java <class 'str'>

person {'name': 'Sri Kotturi', 'age': 16, 'score': 90.0, 'langs': ['Python', 'JavaScript', 'Java', 'Bash', 'html']} <class 'dict'>
- person["name"] Sri Kotturi <class 'str'>
InfoDb = []

# Append to List a Dictionary of key/values related to a person and cars
InfoDb.append({
    "FirstName": "Srihita",
    "LastName": "Kotturi",
    "DOB": "December 13",
    "Residence": "San Diego",
    "Email": "srihita.kotturi@gmail.com",
    "Owns_Cars": ["Hundai Accent"],
    "Favorite_Activity": "Watching TV!"
    
    
    
})


print(InfoDb)
[{'FirstName': 'Srihita', 'LastName': 'Kotturi', 'DOB': 'December 13', 'Residence': 'San Diego', 'Email': 'srihita.kotturi@gmail.com', 'Owns_Cars': ['Hundai Accent'], 'Favorite_Activity': 'Watching TV!'}]
def print_data(d_rec):
    print(d_rec["FirstName"], d_rec["LastName"])  # using comma puts space between values
    print("\t", "Residence:", d_rec["Residence"]) # \t is a tab indent
    print("\t", "Birth Day:", d_rec["DOB"])
    print("\t", "Cars: ", end="")  # end="" make sure no return occurs
    print(", ".join(d_rec["Owns_Cars"]))  # join allows printing a string list with separator
    print()


# for loop iterates on length of InfoDb
def for_loop():
    print("For loop output\n")
    for record in InfoDb:
        print_data(record)

for_loop()
For loop output

Srihita Kotturi
	 Residence: San Diego
	 Birth Day: December 13
	 Cars: Hundai Accent

def while_loop():
    print("While loop output\n")
    i = 0
    while i < len(InfoDb):
        record = InfoDb[i]
        print_data(record)
        i += 1
    return

while_loop()
While loop output

Srihita Kotturi
	 Residence: San Diego
	 Birth Day: December 13
	 Cars: Hundai Accent

def recursive_loop(i):
    if i < len(InfoDb):
        record = InfoDb[i]
        print_data(record)
        recursive_loop(i + 1)
    return
    
print("Recursive loop output\n")
recursive_loop(0)
Recursive loop output

Srihita Kotturi
	 Residence: San Diego
	 Birth Day: December 13
	 Cars: Hundai Accent