When we ask for output, you DON'T have to write the spaces/newlines in.
Program Text:
```python
print "X",
print "X",
Output:
XX
Day 4: More Loop Practice
Problem 20:
Each of the following function definitions takes a list as a parameter
and solves a specific problem.
Correctly fill the blanks in the following code to solve the problems.
There is a way to solve each problem by only filling in the blanks.
Don’t just add extra lines to force a solution.
Also, there may even be more elegant solutions that don’t use all
the blanks – feel free to use those too.
Program Text:
def swap_first_last(my_list):
"""This function swaps the first and last elements in a list. It
has no return value."""
temp = _____________
_____________ = _____________
_____________ = _____________
Page 2
Program Text:
def second_biggest(my_list):
"""This function returns the second biggest element in my_list. It
assumes that my_list contains distinct, positive integers."""
second_biggest = -5
biggest = -1
for i in my_list:
if i > _____________:
second_biggest = ______________
biggest = _____________________
elif i > second_biggest:
second_biggest = ______________
return second_biggest
Problem 13:
You may recall the notion of a power series from Calculus.
A power series is an infinite polynomial series
that approximates a continuous function. For example,
the power series of sin(x) is:
sin(x)=x−x33!+x55!−x77!+…
sin(x)=x−3!x3+5!x5−7!x7+…
The more terms you calculate, the closer your expression will be to
sin(x)sin(x) – hence the reason we call it an approximation.
Write a function to calculate sin(x)sin(x) using the above power series (well,
fill in the blanks, at least.)
Note: You've already seen the code for a function that can calculate the factorial of a number (Problem 11).
Assume the existence of a factorial(x) function that calculates the factorial of x.
Page 3
Program Text:
def calculate_sin(x, number_of_terms):
"""Calculates the value of sin(x) using the power series."""
number_of_terms = min(20, number_of_terms) # do at most 20 terms
sin_value = 0
for i in range(number_of_terms):
new_term = x ** _____________
new_term /= factorial(___________________)
new_term *= (-1) ** ___________________
sin_value += new_term
return sin_value
To mark this module as complete, you must finish this quiz. Once submitted, you'll need to wait 2 hours before attempting it again.