Problem Set 0: Introduction & Installation
Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.
Do you want to sign up for Pset buddies? Each week you will get assigned a new person to collaborate with on the pset. You and your buddy will be matched based on timezone/experience/class year, and may collaborate on the pset as much as you wish, without penalty for similar code. You can change your options for each pset, up until 9pm the night before the pset is released. For more information, and to sign up for a buddy, please go to Buddy Sign Ups.
(did you read the course info page?)
This problem set will introduce you to the programming environment Spyder from the Anaconda Distribution of Python, and to programming in Python, as well as to our general problem set structure. In this problem set, you will confirm your installation of Python, write a simple Python program, and hand it in. Be sure to read this problem set thoroughly, especially the Collaboration and Hand-in Procedure sections.
You may work with other students. However, each student should write up and hand in his or her assignment separately. Be sure to indicate with whom you have worked in the comments of your submission.
Follow the steps in the Getting Started handout for installing the Anaconda distribution of Python and Spyder onto the machine you plan to be using this term. The numpy and matplotlib packages, which will be used primarily in 6.0002, should come with the installation. Familiarize yourself with Python and Spyder using the exercises given in the handout. Once you are ready, proceed to the programming part of this assignment.
This class uses Python version 3.0 or higher.
When you first start using your system, make sure that the version number displayed is 3.0 or higher. Python 3 is not backwards compatible with versions starting with 2.x.
The goal of this programming exercise is to make sure your python and numpy installations
are correct, to get you more comfortable with using Spyder, and to begin using simple
elements of Python. Standard elements of a program include the ability to print out results
(using the print
operation), the ability to read input from a user at the console (for
example using the input
function), and the ability to store values in a variable, so that the
program can access that value as needed.
Write a program that does the following in order:
1. Asks the user to enter a number "x"
2. Asks the user to enter a number "y"
3. Prints out number "x", raised to the power "y".
4. Prints out the log (base 2) of "x".
Use Spyder to create your program, and save your code in a file named 'ps0.py'. An example of an interaction with your program is shown below. The numbers printed after ": " are an example of a user's input. The rest are should be printed by your program.
Enter number x: 2
Enter number y: 3
X**y = 8
log(x) = 1
Hints:
- To see how to use the
print
command, you may find it convenient to look at the input and output of the Python Wikibook. This will show you how to use print statements to print out values of variables. - To see how to read input from a user's console into the Python environment, you
may find it convenient to look at the same section (see for example the
input()
function) - Reference the basic math section of the Python Wikibook to read more about using basic mathematical operators in Python
- To take the logarithm of a variable, import either of the numpy or pylab
packages. You can then call either
numpy.log2
orpylab.log2
to calculate the logarithm. See the Getting Started document on importing packages and the many Numpy examples online for more info. Googling thelog2
function may take you here, which has some helpful info. - Remember that if you want to hold onto a value, you need to store it in a
variable (i.e., give it a name to which you can refer when you want that
value). You may find it convenient to look at the variables and strings section
of the Python Wikibook. (As you read through, remember that in Python 3.x
you should be using
input()
notraw_input()
). Take a look at the “Combining Numbers and Strings” sub-section, because you will be working with numbers and strings in this problem and will have to convert between the two using thestr()
andint()
functions.
At the start of each file, in a comment, write down the number of hours (roughly) you spent on the problems in that part, and the names of your collaborators. For example:
# Problem Set 0
# Name: Jane Lee
# Collaborators: John Doe
# Time Spent: 3:30
… your code goes here …
When you upload a new file, your old one will be overwritten.