Difference between revisions of "CSC111 Lab 1 2015"
(→Submission of Program on Moodle) |
(→Playing with Numbers and Strings) |
||
Line 119: | Line 119: | ||
</source> | </source> | ||
<br /> | <br /> | ||
− | * Run your program a few times, each time changing | + | * Run your program a few times, each time changing the value of a variable. For example change "Alex" to "Monique", or year to 2015. |
Revision as of 10:02, 25 January 2015
--D. Thiebaut (talk) 16:21, 19 January 2015 (EST)
--D. Thiebaut (talk) 10:39, 28 January 2014 (EST)
Contents
- 1 FUN WITH PYTHON
- 2 Option 1: Installing and Running Python on your Laptop
- 3 Option 2: Using Python on a Lab Computer
- 4 Editing Programs with the Idle Editor
- 4.1 Some Python Code to play with
- 4.1.1 Playing with numbers
- 4.1.2 Variation 1
- 4.1.3 Variation 2
- 4.1.4 Playing with Numbers and Strings
- 4.1.5 Challenge #1
- 4.1.6 Repeating Strings
- 4.1.7 Challenge #2
- 4.1.8 Challenge #3 (tricky)
- 4.1.9 Playing with Lists and Loops
- 4.1.10 Challenge #4
- 4.1.11 Repeating several statements
- 4.1.12 Challenge #6
- 4.1.13 Challenge #7
- 4.1.14 Challenge of the Day
- 4.1 Some Python Code to play with
- 5 Submission of Lab 1 Program on Moodle
- 6 Optional Challenge
FUN WITH PYTHON
This lab is just an introduction to having fun with Python. It's purpose is to have you explore the different systems that are available to you, and get a sense of how to program in an "intuitive" fashion.
Option 1: Installing and Running Python on your Laptop
- If you want to work on your own laptop, you need to install Python 3. Open this page and follow the instructions for downloading Python 3 to your laptop.
Option 2: Using Python on a Lab Computer
- If your computer is not on, turn it ON, please!
- When prompted for booting Mac or Windows, select the Mac if you have the choice.
- Login using the Smith credentials (or the account that was given to you as a 5-college or high school student)
- Once you see the Desktop, click on the Finder (bottom left icon on the Desktop), and look in the Science Apps folder for Python 3.2.
- Start IDLE
Tip: if you can't find Idle, use the magnifying glass icon at the top right of the screen and search for idle and you should find it!
Editing Programs with the Idle Editor
- Idle is the name of an editor one can use to create Python program on the computer.
- If the window you start with looks like this (see below), then use the top menu and click File, New Window to open an editing window.
- You should now have two windows on your screen, one the editing window, the other the shell window, where the program will send its output.
Some Python Code to play with
Playing with numbers
- Enter the following code in the Untitled window:
age = 20
year = 2015
print( age )
print( year )
print( year - age )
- Press F5 to run the program. When prompted to save the program, save it as lab1.py, and save it in a folder where you can easily retrieve it (you will need to submit this file for evaluation at the end of the lab).
- Look at the Console window. Some numbers appear... Do they make sense?
- change the numbers that are assigned to age, and year and see how your program reacts when you run it.
age, and year are variables. You can give variables any name you want, as long as you use letters or digits, and as long as the first character is a letter. R2d2 is a valid name for a variable. And so is alpha, or c3po. Variables are used to hold information, in our case, numbers.
Variation 1
- Modify your program slightly, as shown below:
age = 20
year = 2015
print( age, year )
- Run your program
- Notice the slightly different output.
Variation 2
- Try this:
age = 20
year = 2015
yearBorn = year - age
print( "you are", age )
print( "you were born in", yearBorn )
- Run your program. Change the year and the age. Run your program again and see if you can predict the output.
Playing with Numbers and Strings
- This time we add new variables that contain text. In computer science we refer to text as strings of characters, or strings for short.
name = "Alex"
college = "Smith College"
age = 20
year = 2015
print( name, "goes to", college )
print( name, "is", age, "years old" )
- Run your program a few times, each time changing the value of a variable. For example change "Alex" to "Monique", or year to 2015.
Challenge #1 |
- Write a new program that contains these variables:
name = "Alex"
college = "Smith College"
age = 20
year = 2015
- Figure out how to add new variables and write several print statements that will make your program output:
Alex goes to Smith College and is 20 years old Alex was born in 1995
- If your program is well written, and if you change the variable name to be "Francis", college to be "Umass", and age to be 18, then your program should automatically output:
Francis goes to Umass and is 18 years old Francis was born in 1997
- Verify that your program works correctly
Repeating Strings
- Write a new program:
word1 = "hello"
word2 = "there"
print( word1 * 2 )
print( word1 * 5 )
print( word2 * 10 )
- See how you can multiply a string?
- Try this:
print( word1 * 2, word2 * 4 )
- Run the program. Does the output make sense?
Challenge #2 |
- Modify your program and make it print this (note the new exclamation point):
hello hello hello hello there! hello there! there! there! there! there! hello
Challenge #3 (tricky) |
- Make your program print the output below, using string multiplication:
hellothere!hellothere!hellothere!hellothere!hellothere!
Playing with Lists and Loops
- Create a new program in Idle with this new piece of code:
for name in [ "Lea Jones", "Julie Fleur", "Anu Vias" ]:
print( name )
- Press F5. Observe the output.
Challenge #4 |
- Add three new names to the list and make your program output them all one above the other.
Repeating several statements
- Play with these different code snippets. Make sure you understand how your program works before moving on to the next sections.
The purpose is not to go quickly through the lab, but to start acquiring an intuition for the logic of programming.
for name in [ "Lea Jones", "Julie Fleur", "Anu Vias" ]:
print( name )
print( "---------------" )
- and this one:
for name in [ "Lea Jones", "Julie Fleur", "Anu Vias" ]:
print( name, len( name ) )
- or:
for name in [ "Lea Jones", "Julie Fleur", "Anu Vias" ]:
print( name )
print ( len( name ) )
- Still some more
for name in [ "Lea Jones", "Julie Fleur", "Anu Vias" ]:
print( name, '-' * len( name ) )
Challenge #6 |
- Make your program display the names with a bar made of minus signs under each name. The length of the bar should be the same as the length of the name that is above it. For example:
Lea Jones --------- Julie Fleur ----------- Anu Vias --------
Challenge #7 |
- Similar question, but now like this:
--------- Lea Jones --------- ----------- Julie Fleur ----------- -------- Anu Vias --------
Challenge of the Day |
Step 1
- Create a program with all the statements below. They contain the solution for this challenge. You will need to figure out how to reorganize them and modify them to create the answer for this challenge. So create this program and study carefully its code and its output.
name = "Julia Child"
nameLen = len( name )
nameLen4 = len( name ) + 4
nameLen2 = len( name ) + 2
x = 10
bar1 = "-" * x
bar2 = bar1 + "|"
bar3 = "<" + bar1 + ">"
bar4 = "-" * nameLen
print( "name = ", name )
print( "nameLen = ", nameLen )
print( "nameLen4 = ", nameLen4 )
print( "nameLen2 = ", nameLen2 )
print( "x = ", x )
print( "bar1 = ", bar1 )
print( "bar2 = ", bar2 )
print( "bar3 = ", bar3 )
print( "bar4 = ", bar4 )
- Change "Julia Child" for some other, longer, name. Run your program again and see how the different variables will change according to the length of the string you store in name.
Step 2
- Modify your program as follows:
for name in [ "Julia Child", "Gloria Steinem" ]:
nameLen = len( name )
nameLen4 = len( name ) + 4
nameLen2 = len( name ) + 2
x = 10
bar1 = "-" * x
bar2 = bar1 + "|"
bar3 = "<" + bar1 + ">"
bar4 = "-" * nameLen
print( "nameLen = ", nameLen )
print( "nameLen4 = ", nameLen4 )
print( "nameLen2 = ", nameLen2 )
print( "x = ", x )
print( "name = ", name )
print( "bar1 = ", bar1 )
print( "bar2 = ", bar2 )
print( "bar3 = ", bar3 )
print( "bar4 = ", bar4 )
print()
- Carefully look at the output of your program. Because all the print statements are indented relative to the for statement, they are repeated for every name in the list. See how bar1 and bar2 do not change in length, but bar4 changes with each string.
- Here is your challenge for today: Make your program use a for-statement and a list of 3 names, and make it display a box around each name. The challenge here is that the box must fit exactly the length of the name, without extra spaces around.
------------- | Lea Jones | ------------- --------------- | Julie Fleur | --------------- ------------ | Anu Vias | ------------
Submission of Lab 1 Program on Moodle
- For this lab you need to submit your solution program on Moodle. This submission is graded and the grade counts toward your lab grade for this class (15% of the total grade).
- Go to this page and follow the directions for submitting your program.
- Deadline: Exceptionally, this week, the deadline is set to 2/6/05, to allow Add/Drop students to catch up.
- Grade:
- Program submitted with syntax errors: 90/100
- Program submitted without errors, but incorrect output: 95/100
- Program submitted with correct output: 100/100
Optional Challenge |
- This is not required today, but if you want some extra challenging coding to do, try making your program generate the output below.
+-----------+ | Lea Jones | +-----------+ +-------------+ | Julie Fleur | +-------------+ +----------+ | Anu Vias | +----------+
- You do not have to submit this program.