{ "metadata": { "name": "ch5" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": "chapter 5 : Functions: Mad Lib" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.1 page no : 152" }, { "cell_type": "code", "collapsed": false, "input": "'''\n// Instructions\n// Demonstrates writing new functions\n'''\n\n# function prototype (declaration)\ndef instructions():\n print \"Welcome to the most fun you've ever had with text!\\n\";\n print \"Here's how to play the game. . .\\n\";\n\ninstructions();", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "Welcome to the most fun you've ever had with text!\n\nHere's how to play the game. . .\n\n" } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.2 page no : 156" }, { "cell_type": "code", "collapsed": false, "input": "'''\n// Yes or No\n// Demonstrates return values and parameters\n'''\n\ndef askYesNo1():\n while True:\n print \"Please enter 'y' or 'n' : \",\n response1 = 'y' #raw_input()\n if (response1 == 'y' or response1 == 'n'):\n return response1\n\ndef askYesNo2(question):\n while True:\n print question ,\n response1 = 'n' #raw_input()\n if (response1 == 'y' or response1 == 'n'):\n return response1\n\n\nanswer1 = askYesNo1();\nprint \"Thanks for answering: \" , answer1 \nanswer2 = askYesNo2(\"Do you wish to save your game?\");\nprint \"Thanks for answering: \" , answer2 ", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "Please enter 'y' or 'n' : Thanks for answering: y\nDo you wish to save your game? Thanks for answering: n\n" } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.3 page no : 162" }, { "cell_type": "code", "collapsed": false, "input": "'''\n# Scoping\n# Demonstrates scopes\n'''\ndef func():\n var = -5; # local variable in func()\n print \"In func() var is: \" , var \n\nvar = 5 # local variable in main()\nprint \"In main() var is: \" , var\nfunc();\nprint \"Back in main() var is: \" , var\nprint \"In main() in a new scope var is: \" , var\nprint \"Creating new var in new scope.\";\nvar = 10; # variable in new scope, hides other variable named var\nprint \"In main() in a new scope var is: \" , var \n\nprint \"At end of main() var created in new scope no longer exists.\";\nprint \"At end of main() var is: \" , var ", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "In main() var is: 5\nIn func() var is: -5\nBack in main() var is: 5\nIn main() in a new scope var is: 5\nCreating new var in new scope.\nIn main() in a new scope var is: 10\nAt end of main() var created in new scope no longer exists.\nAt end of main() var is: 10\n" } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.4 page no : 167" }, { "cell_type": "code", "collapsed": false, "input": "'''\nglobal access of variable\n'''\n\nglob = 10; # global variable\n\ndef access_global():\n global glob\n print \"In access_global() glob is: \" , glob\n\ndef hide_global():\n glob = 0 # hide global variable glob\n print \"In hide_global() glob is: \" , glob\n\ndef change_global():\n glob = -10; # change global variable glob\n print \"In change_global() glob is: \" , glob\n\n\nprint \"In main() glob is: \" , glob\naccess_global();\nhide_global();\nprint \"In main() glob is: \" , glob\nchange_global();\nprint \"In main() glob is: \" , glob", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "In main() glob is: 10\nIn access_global() glob is: 10\nIn hide_global() glob is: 0\nIn main() glob is: 10\nIn change_global() glob is: -10\nIn main() glob is: 10\n" } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.5 page no : 172" }, { "cell_type": "code", "collapsed": false, "input": "'''\n// Give Me a Number\n// Demonstrates default function arguments\n'''\ndef askNumber(high,low=1):\n a = high + 2\n while True:\n print \"Please enter a number\" , \" (\" , low , \" - \" , high , \"): \"\n num = a #int(raw_input())\n if (num > high or num < low):\n return num\n\n\nnumber = askNumber(5);\nprint \"Thanks for entering: \" , number\nnumber = askNumber(10, 5);\nprint \"Thanks for entering: \" , number", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "Please enter a number ( 1 - 5 ): \nThanks for entering: 7\nPlease enter a number ( 5 - 10 ): \nThanks for entering: 12\n" } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.6 page no : 175" }, { "cell_type": "code", "collapsed": false, "input": "'''\n// Triple\n'''\n\ndef triple(number):\n return (number * 3);\n\ndef triple1(text):\n return (text + text + text);\n\nprint \"Tripling 5: \" , triple(5) \nprint \"Tripling 'gamer': \" , triple1(\"gamer\");", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "Tripling 5: 15\nTripling 'gamer': gamergamergamer\n" } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.7 page no : 178" }, { "cell_type": "code", "collapsed": false, "input": "'''\n// Taking Damage\n// Demonstrates function inlining\n'''\n\ndef radiation( health):\n return (health / 2);\n\nhealth = 80;\nprint \"Your health is \" , health \nhealth = radiation(health);\nprint \"After radiation exposure your health is \" , health \nhealth = radiation(health);\nprint \"After radiation exposure your health is \" , health \nhealth = radiation(health);\nprint \"After radiation exposure your health is \" , health ", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "Your health is 80\nAfter radiation exposure your health is 40\nAfter radiation exposure your health is 20\nAfter radiation exposure your health is 10\n" } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": "example 5.8 page no : 181" }, { "cell_type": "code", "collapsed": false, "input": "'''\n// Mad-Lib\n// Creates a story based on user input\n'''\n\ndef askText(prompt):\n print prompt ,\n a = raw_input()\n return a\n\ndef askNumber(prompt):\n print prompt ,\n return int(raw_input())\n\ndef tellStory(name, noun, number, bodyPart, verb):\n print \"\\nHere's your story:\";\n print \"The famous explorer \" ,;\n print name ,\n print \" had nearly given up a life-long quest to find\",\n print \"The Lost City of \",\n print noun,\n print \" when one day, the \",\n print noun,\n print \" found the explorer.\"\n print \"Surrounded by \",\n print number,\n print \" \" , noun,\n print \", a tear came to \",\n print name , \"'s \",\n print bodyPart , \".\"\n print \"After all this time, the quest was finally over. \",\n print \"And then, the \",\n print noun \n print \"promptly devoured \",\n print name , \". \"\n print \"The moral of the story? Be careful what you \",\n print verb,\n print \" for.\",\n\n\nprint \"Welcome to Mad Lib.\\n\";\nprint \"Answer the following questions to help create a new story.\";\nname = 'jay' #askText(\"Please enter a name: \");\nnoun = 'go' #askText(\"Please enter a plural noun: \");\nnumber = 10 #askNumber(\"Please enter a number: \");\nbodyPart = 'nothing' #askText(\"Please enter a body part: \");\nverb = 'verb' #askText(\"Please enter a verb: \");\ntellStory(name, noun, number, bodyPart, verb);\n\n", "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": "Welcome to Mad Lib.\n\nAnswer the following questions to help create a new story.\n\nHere's your story:\nThe famous explorer jay had nearly given up a life-long quest to find The Lost City of go when one day, the go found the explorer.\nSurrounded by 10 go , a tear came to jay 's nothing .\nAfter all this time, the quest was finally over. And then, the go\npromptly devoured jay . \nThe moral of the story? Be careful what you verb for.\n" } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": "", "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }