Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.
Some "rules"
Tell us about yourself.
Computers are great at processing. They are bad at understanding.
When you write a program, you must break down every step into simple pieces.
Source: Harvard Students Making Sandwich: CS 50 Algorithm Intro
Photo credit: Dan Hatton cc
Photo credit: Open Source for Geeks
If the interpreter finds code it doesn't understand, it stops running and creates an error message.
Terminal | A program that has a command line interface and issues commands to the operating system. |
Python Shell | A command line program that runs inside of the terminal, takes Python code as input, interprets it, and prints out any results. |
Text Editor | A program that opens text files and allows the user to edit and save them. (Different than a word processor). |
Notebook (e.g. Jupyter, Zeppelin) | A document containing code and text and allows user to interactively explore the results of code and simultaneously write-up findings in a reproducible workflow. (Different than a word processor). |
Linux | Gedit, Jedit, Kate |
MacOSX | TextMate, TextWrangler |
Windows | Notepad++ |
All | Sublime Text, Vim, Emacs |
Let's setup our computer for Python programming
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
Open up your terminal and type python
Follow along with the examples in the upcoming slides.
Just type them right in!
Feel free to explore, as well.
You will not accidentally break things!
3 + 4
2 * 4
6 - 2
4 / 2
>>> a = 2
>>> b = 3
>>> print a + b
5
>>> c = a + b
>>> print c * 2
10
>>> a = 0
>>> a = a + .5
>>> print a
0.5
>>> a
0.5
Python provides some tools to manipulate different data types
For the data type string, we can print words in all uppercase, lowercase, or capitalize the first letter.
>>>'hello'.upper()
'HELLO'
>>>'welcome'.capitalize()
'Welcome'
>>'GOOD BYE'.lower()
'good bye'
Strings can also be manipulated with a set of operators
A "string" can be used with the operators: +
, *
a = 'Hello '
b = 'World'
c = a + b
print c
a = "Spam "
b = a * 4
print b
a = 'spam '
b = 'eggs'
c = a * 4 + b
print c
type()
type()
is a function. We call it by using parenthesis and pass it an object by placing the object inside the parenthesis
a = 4
print type(a)
print type(4)
print type(3.14)
b = 'spam, again'
print type(b)
print type("But I don't like spam")
+
and *
operators+
, -
, *
, /
>>> print "Spam" / "eggs"
Traceback (most recent call last):
File "", line 1, in
TypeError: unsupported operand type(s) for /: 'str' and 'str'
# SyntaxError - Doesn't conform to the rules of Python.
# This statement isn't meaningful to the computer
4spam)eggs(garbage) + 10
# NameError - Using a name that hasn't been defined yet
a = 5
print b
b = 10
# TypeError - Using an object in a way that its type does not support
'string1' - 'string2'
There are also semantic errors.
These are harder to catch because the computer can't catch them for us.
You can leave comments in your code—notes that people and future you (!) can read (and appreciate) but computers will ignore.
# This is a sample comment.
We'll practice what we've learned in the shell.
Practice commands you didn't fully understand before.
Play with strings, arithmetic, variables, type.
Ask the teacher, TAs, and students around you for help!
Command | Short for | Description |
---|---|---|
pwd |
Print working directory | Displays what folder you are in. |
ls |
List | Lists the files and folders in the current folder |
cd |
Change directory | Change to another folder. Takes the folder name as an argument. 'cd ..' goes up a directory |
mkdir |
Make directory | Creates a folder with specified name in the current folder |
We need a folder to save and run our code from.
($ shows the shell prompt where commands are entered. Lines without $ are output)
$ cd
$ pwd
/home/username ( or /User/username or similar)
$ mkdir gdipython
$ cd gdipython
$ pwd
/home/username/gdipython
Now that the folders are made, we only have to use$ cd ~/gdipython
in the future.
gdi-intro-python
folder we just created and click "Open"
print 'Hello World!'
gdi-intro-python
folder.python class1.py
To obtain user input, use raw_input()
Change the class1.py text to the following and run it again
name = raw_input("What is your name?")
age = raw_input("How old are you?")
age_int = int(age)
print "Your name is" + name + " and you are " age + " years old."
type(age)
type(age_int)
The user's input is always a string. Keep that in mind when working on other problems!
Write your own program that uses raw_input
and does something else with the value
You can use float() to treat the input as a number if you need a number,
or use the input directly as a string.
Write a program that could replace the initial conversation you have at the checkout line. It should do the following:
>> Did you find everything ok?
(wait for input)
>> What's your name?
(read in a name from the user)
>> Hi, (User's Name) do you want paper or plastic?
(wait for input)
>> What is your total before tax?
(read in a total)
>> Your total with sales tax is: (total with sales tax)
(wait for input before exiting)