Difference between revisions of "CSC111 Lab 1 2015"

From dftwiki3
Jump to: navigation, search
(Variation 3)
Line 108: Line 108:
 
   
 
   
 
* Run your program a few times, each time changing some of the variables.
 
* Run your program a few times, each time changing some of the variables.
 
===Using ''Strings'' of characters===
 
<br />
 
* Modify the ''print statement'' so that it reads like this:
 
 
print( "You are", age, "years old and you were born in", year - age )
 
 
* Run your new program.  Do you understand how your modification made the program run differently?  Does the output still make sense?  Don't worry too much for today if it doesn't.  Be sure to ask questions to your instructor or to the TAs if you're unsure about anything.
 
 
* Another modification.  Replace your print statement by two statements:
 
 
print( "You are", age, "years old" )
 
print( "You were born in", year - age )
 
 
* Run your program again.  How does having a second print statement modify the behavior of your program?
 
  
  
Line 132: Line 117:
 
|}
 
|}
 
[[Image:QuestionMark1.jpg|right|120px]]
 
[[Image:QuestionMark1.jpg|right|120px]]
* Now, use your intuition along with what you have just learned, and modify your program to make it display this output:
+
* 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
  
a = 3
 
b = 10
 
c = 20
 
sum = 33
 
  
* Keep at it if you don't get there right away.  Remember, this is a language, and there exist many different ways to say the same thing in Python...
+
* 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
 
<br />
 
<br />
 
<br />
 
<br />

Revision as of 09:29, 23 January 2015

--D. Thiebaut (talk) 16:21, 19 January 2015 (EST)


--D. Thiebaut (talk) 10:39, 28 January 2014 (EST)
PythonLogo.jpg


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!


Idle


  • 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.

CSC111 PythonShell.png


  • 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.

CSC111 PythonEditShellWindows.png


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
  • 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 some of the variables.


Challenge #1

QuestionMark1.jpg
  • 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




Playing with Strings


  • The goal of this section if for you to modify your program, play with different Python statements, and start building an intuition for how Python statements work.
  • Type the following three lines of code in your program (you can keep the old lines and add new lines at the end, or you can erase everything and type the new ones), and run the program.
word1 = "Hello"
word2 = "world"
college = "Smith College"
print( word1, word2 )
print( word1, college )
print( college )
  • Observe how the different ways to write the print statements influence how the information is printed.
  • Now, try these lines of code:
word1 = "hello"
word2 = "there!"
print( word1, word2 )
print( word1, "who is", word2 )




Question: What is the role of word1 or word2 in the program?




Question: What is the role of the double quote character in Python?




Challenge #2

QuestionMark2.jpg
  • Modify your program but keep the two variables word1 and word2, and make it print this:
  hello there!
  there! hello
  hello hello hello
  hello there! there! hello




Repeating Strings

  • Try this:
word1 = "hello"
print( word1 * 2 )
print( word1 * 5 )
print( word1 * 10 )
  • See how you can multiply a string?




Challenge #3

QuestionMark3.jpg
  • Modify your program and make it print this:
hello hello hello hello there! 
hello there! there! there! there! there! hello




Challenge #4 (tricky)

QuestionMark4.jpg
  • See if you can make your program print this, 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:



 list = [ "Lea Jones", "Julie Fleur", "Anu Vias" ]
 for name in list:
     print( name )



Observe that the line that starts with print is indented from the line that starts with for. This is a very important detail: Python uses indentation to influence how statements depend on each other.


  • Press F5. Observe the output.




Challenge #5

QuestionMark5.jpg
  • 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 segments, each one on its own. Make sure you understand how each one works when you execute the program.



 list = [ "Lea Jones", "Julie Fleur", "Anu Vias" ]
 for name in list:
     print( name )
     print( "-" )



  • and this one:



 list = [ "Lea Jones", "Julie Fleur", "Anu Vias" ]
 for name in list:
     print( name, len( name ) )



  • or:



 list = [ "Lea Jones", "Julie Fleur", "Anu Vias" ]
 for name in list:
     print( name )
     print ( len( name ) )



  • Still some more



 list = [ "Lea Jones", "Julie Fleur", "Anu Vias" ]
 for name in list:
     print( name,  '-'  * len( name ) )




Challenge #6

QuestionMark6.jpg
  • 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. For example:
Lea Jones
---------
Julie Fleur
-----------
Anu Vias
--------




Challenge #7

QuestionMark7.png
  • Similar question, but now like this:
---------
Lea Jones
---------

-----------
Julie Fleur
-----------

--------
Anu Vias
--------




Challenge of the Day

QuestionMark8.jpg
  • Make your program display a box around each name:
-------------
| Lea Jones |
-------------

---------------
| Julie Fleur |
---------------

------------
| Anu Vias |
------------




  • And... if you are done, and are really rolling and want some more of a challenge, try to make your program output this:
+-----------+
| Lea Jones |
+-----------+

+-------------+
| Julie Fleur |
+-------------+

+----------+
| Anu Vias |
+----------+