{ "metadata": { "name": "", "signature": "sha256:23b3891085deb8af52412d44380b6187a4110d7e026531ec90b3b2ae79d61d0f" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 15: Debugging and optimization" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 15.1, Page number: 275" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Function declaration\n", "def lookup (name) :\n", " lists = ['John', 'Jim', 'Jane', 'Clyde']\n", " result = 0\n", "\n", " for index in range (0, 4) :\n", " if (lists[index] == name) :\n", " result = 1\n", " break\n", " \n", " return result\n", "\n", "# Calculation and result\n", "name = 'John'\n", "\n", "if (lookup (name)) :\n", " print ('%s is in the list\\n' % name)\n", "else :\n", " print ('%s is not in the list\\n' % name)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "John is in the list\n", "\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 15.6, Page number: 288" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variable and function declaration\n", "seven_count = 0\n", "three_count = 0\n", "data = []\n", "\n", "def get_data (data) :\n", " for i in range (0, 5) :\n", " x = 3\n", " data.append(int(x))\n", " print (data)\n", "\n", "# Calculation\n", "get_data (data)\n", "for index in range (0, 5) :\n", " if data[index] == 3 :\n", " three_count += 1\n", "\n", " if data[index] == 7 :\n", " seven_count += 1\n", "\n", "# Result\n", "print ('Threes %d Sevens %d' % (three_count, seven_count))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[3, 3, 3, 3, 3]\n", "Threes 5 Sevens 0\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 15.7, Page number: 292" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variable declaration\n", "import sys\n", "import os\n", "in_file = open ('numbers.dat', 'r')\n", "\n", "data = []\n", "max_count = 0\n", " \n", "# Calculation and result\n", "if not os.path.exists ('numbers.dat') :\n", " print ('Error:Unable to open numbers.dat\\n')\n", " sys.exit(1)\n", "\n", "for line in in_file :\n", " data.append(line)\n", " max_count += 1\n", "\n", "while (1) :\n", " search = 6\n", " \n", " if (search == -1) :\n", " break\n", "\n", " low = 0\n", " high = max_count\n", "\n", " while (1) :\n", " mid = (low + high) / 2\n", " middle = int (mid) \n", "\n", " if (int (data[middle]) == search) :\n", " print ('Found at index %d\\n' % (middle + 1))\n", " break\n", "\n", " if (low == high) :\n", " print ('Not found\\n')\n", " break\n", "\n", " if (int (data[middle]) < search) :\n", " low = middle\n", " else :\n", " high = middle \n", "\n", "in_file.close()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": "*" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 15.8, Page number: 300" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "# Variable declaration\n", "import sys\n", "import os\n", "in_file = open ('numbers.dat', 'r')\n", "\n", "data = []\n", "max_count = 0\n", " \n", "# Calculation and result\n", "if not os.path.exists ('numbers.dat') :\n", " print ('Error:Unable to open numbers.dat\\n')\n", " sys.exit(1)\n", "\n", "for line in in_file :\n", " data.append(line)\n", " max_count += 1\n", "\n", "while (1) :\n", " search = 14\n", " \n", " if (search == -1) :\n", " break\n", "\n", " low = 0\n", " high = max_count\n", "\n", " while (1) :\n", " mid = (low + high) / 2\n", " middle = int (mid) \n", "\n", " if (int (data[middle]) == search) :\n", " print ('Found at index %d\\n' % (middle + 1))\n", " break\n", "\n", " if (low == high) :\n", " print ('Not found\\n')\n", " break\n", "\n", " if (int (data[middle]) < search) :\n", " low = middle\n", " else :\n", " high = middle \n", "\n", "in_file.close()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": "*" }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 15.10, Page number: 304" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Variable declaration\n", "i = 1\n", "j = 1\n", "\n", "# Calculation and result\n", "print ('Starting\\n')\n", "print ('Before divide...')\n", "i = i / j\n", "print ('After\\n')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Starting\n", "\n", "Before divide...\n", "After\n", "\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 15.11, Page number: 304" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "# Variable declaration\n", "import sys\n", "i = 1\n", "j = 1\n", "\n", "# Calculation and result\n", "print ('Starting\\n')\n", "sys.stdout.flush()\n", "print ('Before divide...')\n", "sys.stdout.flush()\n", "i = i / j\n", "print ('After\\n')\n", "sys.stdout.flush()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Starting\n", "\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Before divide...\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "After\n", "\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }