# Midterm 1
# CSCI 121
# Spring 2025

# Answers to PMT1b


"""

Problem 1(a)

2
1
0
3
444
Error!

Problem 1(b)

8 8
6 4
4 5

Problem 1(c)

1
2
5
25

Problem 1(d)

[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3]
[1, 2, 3, 5]
[1, 2, 3]

"""

def taxi_cost(miles):
    if miles <= 10:
        return 3 + miles * 2
    else:
        return miles * 4

def odd_factor(number):
    while number % 2 == 0:
        number = number // 2
    return number

def reverse(a):
    n = len(a)
    i = 0
    while i < n // 2:
        j = (n - 1) - i
        # swap a[i] with a[j]
        tmp = a[i]
        a[i] = a[j]
        a[j] = tmp
        i += 1

def describe(data, width):
    for name in data:
        age = str(data[name])
        dots = width - (len(name) + len(age))
        print(name + ("." * dots) + age)