python project1

Page 1

6.189 – Homework ONLY

Session 7

Instructions:

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

Quiz

To mark this module as complete, you must finish this quiz. Once submitted, you'll need to wait 2 hours before attempting it again.