# Designing and Using Functions

1.

a. 2
a. 7
a. 4

2. a. max(3, 4), then abs(-5), then min(4, 5).
b. max(2, 8), then min(4, 6, 8), then abs(4).
c. max(5.572, 3.258), then abs(-2), then round(5.572, 2).

3.

def triple(num):
""" (number) -> number

Return num tripled.

>>> triple(3)
9
"""

return num * 3

4.

def absolute_difference(number1, number2):
""" (number, number) -> number

Return the absolute value of the difference between number1
and number2.

>>> absolute_difference(3, 7)
4
"""
return abs(number1 - number2)
5.
def km_to_miles(km):
""" (number) -> float

Return the distance km in miles.

>>> km_to_miles(5)
3.125
"""

return km / 1.6

6.

""" (number, number, number) -> number

each grade ranges from 0 to 100, inclusive.

88.33333333333333
"""

7.

""" (number, number, number, number) -> number

>>> top_three_avg(50, 60, 70, 80)
70
"""

# Here is one solution that does not use average_grade from Q6.

# Here is a different solution that does use the function from Q6.

8.

def weeks_elapsed(day1, day2):
""" (int, int) -> int
day1 and day2 are days in the same year. Return the number of full weeks
that have elapsed between the two days.

>>> weeks_elapsed(3, 20)
2
>>> weeks_elapsed(20, 3)
2
>>> weeks_elapsed(8, 5)
0
>>> weeks_elapsed(40, 61)
3
"""
return int(abs(day1 - day2) / 7)

10.

def square(num):
""" (number) -> number

Return the square of num.

>>> square(3)
9
"""
return num ** 2

...or:

def square(num):
""" (number) -> number

Return the square of num.

>>> square(3)
9
"""
return num * num