{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%install_ext https://raw.github.com/minrk/ipython_extensions/master/nbtoc.py\n", "%load_ext nbtoc\n", "%nbtoc" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Installed nbtoc.py. To use it, type:\n", " %load_ext nbtoc\n", "The nbtoc extension is already loaded. To reload it, use:\n", " %reload_ext nbtoc\n" ] }, { "html": [ "\n", "
\n", "
Contents [hide]
\n", "
\n", "
\n", " \n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "display_data" }, { "javascript": [ "// adapted from https://gist.github.com/magican/5574556\n", "\n", "function clone_anchor(element) {\n", " // clone link\n", " var h = element.find(\"div.text_cell_render\").find(':header').first();\n", " var a = h.find('a').clone();\n", " var new_a = $(\"\");\n", " new_a.attr(\"href\", a.attr(\"href\"));\n", " // get the text *excluding* the link text, whatever it may be\n", " var hclone = h.clone();\n", " hclone.children().remove();\n", " new_a.text(hclone.text());\n", " return new_a;\n", "}\n", "\n", "function ol_depth(element) {\n", " // get depth of nested ol\n", " var d = 0;\n", " while (element.prop(\"tagName\").toLowerCase() == 'ol') {\n", " d += 1;\n", " element = element.parent();\n", " }\n", " return d;\n", "}\n", "\n", "function table_of_contents(threshold) {\n", " if (threshold === undefined) {\n", " threshold = 4;\n", " }\n", " var cells = IPython.notebook.get_cells();\n", " \n", " var ol = $(\"
    \");\n", " $(\"#toc\").empty().append(ol);\n", " \n", " for (var i=0; i < cells.length; i++) {\n", " var cell = cells[i];\n", " \n", " if (cell.cell_type !== 'heading') continue;\n", " \n", " var level = cell.level;\n", " if (level > threshold) continue;\n", " \n", " var depth = ol_depth(ol);\n", "\n", " // walk down levels\n", " for (; depth < level; depth++) {\n", " var new_ol = $(\"
      \");\n", " ol.append(new_ol);\n", " ol = new_ol;\n", " }\n", " // walk up levels\n", " for (; depth > level; depth--) {\n", " ol = ol.parent();\n", " }\n", " //\n", " ol.append(\n", " $(\"
    1. \").append(clone_anchor(cell.element))\n", " );\n", " }\n", "\n", " $('#toc-wrapper .header').click(function(){\n", " $('#toc').slideToggle();\n", " $('#toc-wrapper').toggleClass('closed');\n", " if ($('#toc-wrapper').hasClass('closed')){\n", " $('#toc-wrapper .hide-btn').text('[show]');\n", " } else {\n", " $('#toc-wrapper .hide-btn').text('[hide]');\n", " }\n", " return false;\n", " })\n", "\n", " $(window).resize(function(){\n", " $('#toc').css({maxHeight: $(window).height() - 200})\n", " })\n", "\n", " $(window).trigger('resize')\n", "}\n", "\n", "table_of_contents();\n", "\n", "\n" ], "metadata": {}, "output_type": "display_data" } ], "prompt_number": 157 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Saturday lecture" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Friday review" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "math" ] }, { "cell_type": "code", "collapsed": false, "input": [ "6 + 7.5" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 86, "text": [ "13.5" ] } ], "prompt_number": 86 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "type()" ] }, { "cell_type": "code", "collapsed": false, "input": [ "type(\"cows\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 151, "text": [ "str" ] } ], "prompt_number": 151 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "variables" ] }, { "cell_type": "code", "collapsed": false, "input": [ "n = 22" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 88 }, { "cell_type": "code", "collapsed": false, "input": [ "n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 89, "text": [ "22" ] } ], "prompt_number": 89 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "strings" ] }, { "cell_type": "code", "collapsed": false, "input": [ "beasts = \"cows\"" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 90 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "booleans" ] }, { "cell_type": "code", "collapsed": false, "input": [ "True" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 152, "text": [ "True" ] } ], "prompt_number": 152 }, { "cell_type": "code", "collapsed": false, "input": [ "False" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 153, "text": [ "False" ] } ], "prompt_number": 153 }, { "cell_type": "code", "collapsed": false, "input": [ "4 > 10" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 154, "text": [ "False" ] } ], "prompt_number": 154 }, { "cell_type": "code", "collapsed": false, "input": [ "\"True\" == True" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 155, "text": [ "False" ] } ], "prompt_number": 155 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "if/elif/else" ] }, { "cell_type": "code", "collapsed": false, "input": [ "score1 = 4\n", "score2 = 10\n", "if score1 > score2:\n", " print \"We're #1!\"\n", "elif score2 > score1:\n", " print \"Better luck next time\"\n", "else:\n", " print \"It's not over!\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Better luck next time\n" ] } ], "prompt_number": 95 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "functions" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def eval_scores(score1, score2):\n", " if score1 > score2:\n", " print \"We're #1!\"\n", " elif score2 > score1:\n", " print \"Better luck next time\"\n", " else:\n", " print \"It's not over!\"" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 96 }, { "cell_type": "code", "collapsed": false, "input": [ "eval_scores(40, 30)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "We're #1!\n" ] } ], "prompt_number": 97 }, { "cell_type": "code", "collapsed": false, "input": [ "def very(adj):\n", " return 'totally ' + adj" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 98 }, { "cell_type": "code", "collapsed": false, "input": [ "very('fun')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 99, "text": [ "'totally fun'" ] } ], "prompt_number": 99 }, { "cell_type": "code", "collapsed": false, "input": [ "difficulty = very('hard')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 100 }, { "cell_type": "code", "collapsed": false, "input": [ "difficulty" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 101, "text": [ "'totally hard'" ] } ], "prompt_number": 101 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Lists" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "purpose" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Conveniently handle bunches of data that will all need to be treated together!" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "initialization" ] }, { "cell_type": "code", "collapsed": false, "input": [ "names = ['Linda', 'Katina', 'Alexandria', 'Jennifer']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 102 }, { "cell_type": "code", "collapsed": false, "input": [ "names" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 103, "text": [ "['Linda', 'Katina', 'Alexandria', 'Jennifer']" ] } ], "prompt_number": 103 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "len() review" ] }, { "cell_type": "code", "collapsed": false, "input": [ "len('Alexandria')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 104, "text": [ "10" ] } ], "prompt_number": 104 }, { "cell_type": "code", "collapsed": false, "input": [ "len(names)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 105, "text": [ "4" ] } ], "prompt_number": 105 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "accessing elements" ] }, { "cell_type": "code", "collapsed": false, "input": [ "names" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 106, "text": [ "['Linda', 'Katina', 'Alexandria', 'Jennifer']" ] } ], "prompt_number": 106 }, { "cell_type": "code", "collapsed": false, "input": [ "names[1]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 107, "text": [ "'Katina'" ] } ], "prompt_number": 107 }, { "cell_type": "code", "collapsed": false, "input": [ "names[0]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 108, "text": [ "'Linda'" ] } ], "prompt_number": 108 }, { "cell_type": "code", "collapsed": false, "input": [ "names[-1]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 109, "text": [ "'Jennifer'" ] } ], "prompt_number": 109 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "adding elements" ] }, { "cell_type": "code", "collapsed": false, "input": [ "names.append('Francine')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 110 }, { "cell_type": "code", "collapsed": false, "input": [ "names" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 111, "text": [ "['Linda', 'Katina', 'Alexandria', 'Jennifer', 'Francine']" ] } ], "prompt_number": 111 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "changing elements" ] }, { "cell_type": "code", "collapsed": false, "input": [ "names[2]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 112, "text": [ "'Alexandria'" ] } ], "prompt_number": 112 }, { "cell_type": "code", "collapsed": false, "input": [ "names[2] = 'Alex'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 113 }, { "cell_type": "code", "collapsed": false, "input": [ "names" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 114, "text": [ "['Linda', 'Katina', 'Alex', 'Jennifer', 'Francine']" ] } ], "prompt_number": 114 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "slicing lists" ] }, { "cell_type": "code", "collapsed": false, "input": [ "names[1:3]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 115, "text": [ "['Katina', 'Alex']" ] } ], "prompt_number": 115 }, { "cell_type": "code", "collapsed": false, "input": [ "names[:3]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 116, "text": [ "['Linda', 'Katina', 'Alex']" ] } ], "prompt_number": 116 }, { "cell_type": "code", "collapsed": false, "input": [ "names[3:]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 117, "text": [ "['Jennifer', 'Francine']" ] } ], "prompt_number": 117 }, { "cell_type": "code", "collapsed": false, "input": [ "names[-2:]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 118, "text": [ "['Jennifer', 'Francine']" ] } ], "prompt_number": 118 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "strings are like lists" ] }, { "cell_type": "code", "collapsed": false, "input": [ "lang = 'Python'\n", "lang[0]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 119, "text": [ "'P'" ] } ], "prompt_number": 119 }, { "cell_type": "code", "collapsed": false, "input": [ "lang[-3:]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 120, "text": [ "'hon'" ] } ], "prompt_number": 120 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "loops and more: flow control" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "*for* loops" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for name in names:\n", " print 'Hi ' + name" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Hi Linda\n", "Hi Katina\n", "Hi Alex\n", "Hi Jennifer\n", "Hi Francine\n" ] } ], "prompt_number": 121 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "*if* statements inside *for* loops" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for name in names:\n", " if len(name) > 5:\n", " print name + \", you need a nickname\"\n", " else:\n", " print \"Hi \" + name" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Hi Linda\n", "Katina, you need a nickname\n", "Hi Alex\n", "Jennifer, you need a nickname\n", "Francine, you need a nickname\n" ] } ], "prompt_number": 122 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "nested *for* loops" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for name in names:\n", " for letter in name:\n", " print \"gimme a \" + letter\n", " print \"What's it spell? \" + name + \"!\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "gimme a L\n", "gimme a i\n", "gimme a n\n", "gimme a d\n", "gimme a a\n", "What's it spell? Linda!\n", "gimme a K\n", "gimme a a\n", "gimme a t\n", "gimme a i\n", "gimme a n\n", "gimme a a\n", "What's it spell? Katina!\n", "gimme a A\n", "gimme a l\n", "gimme a e\n", "gimme a x\n", "What's it spell? Alex!\n", "gimme a J\n", "gimme a e\n", "gimme a n\n", "gimme a n\n", "gimme a i\n", "gimme a f\n", "gimme a e\n", "gimme a r\n", "What's it spell? Jennifer!\n", "gimme a F\n", "gimme a r\n", "gimme a a\n", "gimme a n\n", "gimme a c\n", "gimme a i\n", "gimme a n\n", "gimme a e\n", "What's it spell? Francine!\n" ] } ], "prompt_number": 123 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "range()" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for n in [0, 1, 2, 3, 4]:\n", " print 'I love Python'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "I love Python\n", "I love Python\n", "I love Python\n", "I love Python\n", "I love Python\n" ] } ], "prompt_number": 124 }, { "cell_type": "code", "collapsed": false, "input": [ "range(5)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 125, "text": [ "[0, 1, 2, 3, 4]" ] } ], "prompt_number": 125 }, { "cell_type": "code", "collapsed": false, "input": [ "for n in range(5):\n", " print 'I love Python'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "I love Python\n", "I love Python\n", "I love Python\n", "I love Python\n", "I love Python\n" ] } ], "prompt_number": 126 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "*while* loops" ] }, { "cell_type": "code", "collapsed": false, "input": [ "n = 1\n", "while n < 100:\n", " next = n + n\n", " print str(n) + \" and \" + str(n) + \" is \" + str(next)\n", " n = next" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1 and 1 is 2\n", "2 and 2 is 4\n", "4 and 4 is 8\n", "8 and 8 is 16\n", "16 and 16 is 32\n", "32 and 32 is 64\n", "64 and 64 is 128\n" ] } ], "prompt_number": 127 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "infinite loops" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " n = 1\n", " while n < 100:\n", " next = n + n\n", " print str(n) + \" and \" + str(n) + \" is \" + str(next)" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "*if* statements inside *while* loops" ] }, { "cell_type": "code", "collapsed": false, "input": [ "n = 1\n", "while n < 100:\n", " next = n + n\n", " print str(n) + \" and \" + str(n) + \" is \" + str(next)\n", " if n > 10:\n", " print \"My, these numbers are getting big\"\n", " n = next" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1 and 1 is 2\n", "2 and 2 is 4\n", "4 and 4 is 8\n", "8 and 8 is 16\n", "16 and 16 is 32\n", "My, these numbers are getting big\n", "32 and 32 is 64\n", "My, these numbers are getting big\n", "64 and 64 is 128\n", "My, these numbers are getting big\n" ] } ], "prompt_number": 128 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "break" ] }, { "cell_type": "code", "collapsed": false, "input": [ "n = 1\n", "while True:\n", " next = n + n\n", " print str(n) + \" and \" + str(n) + \" is \" + str(next)\n", " n = next\n", " if n > 100:\n", " break" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1 and 1 is 2\n", "2 and 2 is 4\n", "4 and 4 is 8\n", "8 and 8 is 16\n", "16 and 16 is 32\n", "32 and 32 is 64\n", "64 and 64 is 128\n" ] } ], "prompt_number": 129 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "raw_input()" ] }, { "cell_type": "code", "collapsed": false, "input": [ "name = raw_input(\"Hi, what's your name? \")\n", "print \"Nice to meet you, \" + name" ], "language": "python", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Hi, what's your name? Catherine\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Nice to meet you, Catherine\n" ] } ], "prompt_number": 130 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "dictionaries" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "purpose" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Think of a phone book!" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "initialization" ] }, { "cell_type": "code", "collapsed": false, "input": [ "profession = {'Linda': 'Lion tamer',\n", " 'Alex': 'Ambassador to Antarctica',\n", " 'Katina': 'Rocketeer'}" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 131 }, { "cell_type": "code", "collapsed": false, "input": [ "profession" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 132, "text": [ "{'Alex': 'Ambassador to Antarctica',\n", " 'Katina': 'Rocketeer',\n", " 'Linda': 'Lion tamer'}" ] } ], "prompt_number": 132 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "accessing elements" ] }, { "cell_type": "code", "collapsed": false, "input": [ "profession['Alex']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 133, "text": [ "'Ambassador to Antarctica'" ] } ], "prompt_number": 133 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "adding elements" ] }, { "cell_type": "code", "collapsed": false, "input": [ "profession['Jennifer'] = 'Court Jester'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 134 }, { "cell_type": "code", "collapsed": false, "input": [ "profession" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 135, "text": [ "{'Alex': 'Ambassador to Antarctica',\n", " 'Jennifer': 'Court Jester',\n", " 'Katina': 'Rocketeer',\n", " 'Linda': 'Lion tamer'}" ] } ], "prompt_number": 135 }, { "cell_type": "markdown", "metadata": {}, "source": [ "changing elements\n", "-----------------" ] }, { "cell_type": "code", "collapsed": false, "input": [ "profession['Jennifer'] = 'Feline Psychotherapist'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 136 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "keys() and values()" ] }, { "cell_type": "code", "collapsed": false, "input": [ "profession" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 137, "text": [ "{'Alex': 'Ambassador to Antarctica',\n", " 'Jennifer': 'Feline Psychotherapist',\n", " 'Katina': 'Rocketeer',\n", " 'Linda': 'Lion tamer'}" ] } ], "prompt_number": 137 }, { "cell_type": "code", "collapsed": false, "input": [ "profession.keys()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 138, "text": [ "['Linda', 'Alex', 'Katina', 'Jennifer']" ] } ], "prompt_number": 138 }, { "cell_type": "code", "collapsed": false, "input": [ "profession.values()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 139, "text": [ "['Lion tamer',\n", " 'Ambassador to Antarctica',\n", " 'Rocketeer',\n", " 'Feline Psychotherapist']" ] } ], "prompt_number": 139 }, { "cell_type": "code", "collapsed": false, "input": [ "profession.items()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 140, "text": [ "[('Linda', 'Lion tamer'),\n", " ('Alex', 'Ambassador to Antarctica'),\n", " ('Katina', 'Rocketeer'),\n", " ('Jennifer', 'Feline Psychotherapist')]" ] } ], "prompt_number": 140 }, { "cell_type": "code", "collapsed": false, "input": [ "for (name, prof) in profession.items():\n", " print name + \" is a \" + prof" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Linda is a Lion tamer\n", "Alex is a Ambassador to Antarctica\n", "Katina is a Rocketeer\n", "Jennifer is a Feline Psychotherapist\n" ] } ], "prompt_number": 141 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "modules" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "purpose" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Don't write it twice!\n", "- Don't write it at all!" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "builtins" ] }, { "cell_type": "code", "collapsed": false, "input": [ "dir(__builtin__)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 142, "text": [ "['ArithmeticError',\n", " 'AssertionError',\n", " 'AttributeError',\n", " 'BaseException',\n", " 'BufferError',\n", " 'BytesWarning',\n", " 'DeprecationWarning',\n", " 'EOFError',\n", " 'Ellipsis',\n", " 'EnvironmentError',\n", " 'Exception',\n", " 'False',\n", " 'FloatingPointError',\n", " 'FutureWarning',\n", " 'GeneratorExit',\n", " 'IOError',\n", " 'ImportError',\n", " 'ImportWarning',\n", " 'IndentationError',\n", " 'IndexError',\n", " 'KeyError',\n", " 'KeyboardInterrupt',\n", " 'LookupError',\n", " 'MemoryError',\n", " 'NameError',\n", " 'None',\n", " 'NotImplemented',\n", " 'NotImplementedError',\n", " 'OSError',\n", " 'OverflowError',\n", " 'PendingDeprecationWarning',\n", " 'ReferenceError',\n", " 'RuntimeError',\n", " 'RuntimeWarning',\n", " 'StandardError',\n", " 'StopIteration',\n", " 'SyntaxError',\n", " 'SyntaxWarning',\n", " 'SystemError',\n", " 'SystemExit',\n", " 'TabError',\n", " 'True',\n", " 'TypeError',\n", " 'UnboundLocalError',\n", " 'UnicodeDecodeError',\n", " 'UnicodeEncodeError',\n", " 'UnicodeError',\n", " 'UnicodeTranslateError',\n", " 'UnicodeWarning',\n", " 'UserWarning',\n", " 'ValueError',\n", " 'Warning',\n", " 'ZeroDivisionError',\n", " '__IPYTHON__',\n", " '__IPYTHON__active',\n", " '__debug__',\n", " '__doc__',\n", " '__import__',\n", " '__name__',\n", " '__package__',\n", " 'abs',\n", " 'all',\n", " 'any',\n", " 'apply',\n", " 'basestring',\n", " 'bin',\n", " 'bool',\n", " 'buffer',\n", " 'bytearray',\n", " 'bytes',\n", " 'callable',\n", " 'chr',\n", " 'classmethod',\n", " 'cmp',\n", " 'coerce',\n", " 'compile',\n", " 'complex',\n", " 'copyright',\n", " 'credits',\n", " 'delattr',\n", " 'dict',\n", " 'dir',\n", " 'divmod',\n", " 'dreload',\n", " 'enumerate',\n", " 'eval',\n", " 'execfile',\n", " 'file',\n", " 'filter',\n", " 'float',\n", " 'format',\n", " 'frozenset',\n", " 'get_ipython',\n", " 'getattr',\n", " 'globals',\n", " 'hasattr',\n", " 'hash',\n", " 'help',\n", " 'hex',\n", " 'id',\n", " 'input',\n", " 'int',\n", " 'intern',\n", " 'isinstance',\n", " 'issubclass',\n", " 'iter',\n", " 'len',\n", " 'license',\n", " 'list',\n", " 'locals',\n", " 'long',\n", " 'map',\n", " 'max',\n", " 'memoryview',\n", " 'min',\n", " 'next',\n", " 'object',\n", " 'oct',\n", " 'open',\n", " 'ord',\n", " 'pow',\n", " 'print',\n", " 'property',\n", " 'range',\n", " 'raw_input',\n", " 'reduce',\n", " 'reload',\n", " 'repr',\n", " 'reversed',\n", " 'round',\n", " 'set',\n", " 'setattr',\n", " 'slice',\n", " 'sorted',\n", " 'staticmethod',\n", " 'str',\n", " 'sum',\n", " 'super',\n", " 'tuple',\n", " 'type',\n", " 'unichr',\n", " 'unicode',\n", " 'vars',\n", " 'xrange',\n", " 'zip']" ] } ], "prompt_number": 142 }, { "cell_type": "code", "collapsed": false, "input": [ "help(sum)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Help on built-in function sum in module __builtin__:\n", "\n", "sum(...)\n", " sum(sequence[, start]) -> value\n", " \n", " Returns the sum of a sequence of numbers (NOT strings) plus the value\n", " of parameter 'start' (which defaults to 0). When the sequence is\n", " empty, returns start.\n", "\n" ] } ], "prompt_number": 143 }, { "cell_type": "code", "collapsed": false, "input": [ "range(10)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 144, "text": [ "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" ] } ], "prompt_number": 144 }, { "cell_type": "code", "collapsed": false, "input": [ "sum(range(10))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 145, "text": [ "45" ] } ], "prompt_number": 145 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "imports" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import random" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 146 }, { "cell_type": "code", "collapsed": false, "input": [ "random.randint(1, 100)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 147, "text": [ "2" ] } ], "prompt_number": 147 }, { "cell_type": "code", "collapsed": false, "input": [ "random.choice([2, 8, 'twelve'])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 148, "text": [ "2" ] } ], "prompt_number": 148 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Putting it all together" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[capitals.py](files/capitals.py), a quiz game" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 148 } ], "metadata": {} } ] }