{ "metadata": { "name": "", "signature": "sha256:a9141c3e95bf9510ebd3627775c232beb902109a956e0bd2f7e906b08fe40884" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 13: The Preprocessor and Debugging" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Program 13.2, page no. 576" ] }, { "cell_type": "code", "collapsed": false, "input": [ "y = 5\n", "for x in range(20):\n", " print \"x = %d y = %d\" %(x, y)\n", " assert(x < y)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "AssertionError", "evalue": "", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"x = %d y = %d\"\u001b[0m \u001b[0;34m%\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;32massert\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mAssertionError\u001b[0m: " ] }, { "output_type": "stream", "stream": "stdout", "text": [ "x = 0 y = 5\n", "x = 1 y = 5\n", "x = 2 y = 5\n", "x = 3 y = 5\n", "x = 4 y = 5\n", "x = 5 y = 5\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Program 13.3, page no. 578" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import time\n", "import datetime\n", "import math\n", "\n", "calendar_start = datetime.datetime.now()\n", "cpu_start = time.time()\n", "count = 0\n", "iterations = 1000000\n", "answer = 'y'\n", "x = 0.0\n", "print \"Initial clock time = \", cpu_start, \" Initial calendar time = \", calendar_start\n", "while(answer.lower() == 'y'):\n", " for i in range(iterations):\n", " x = math.sqrt(3.14159265)\n", " count += 1\n", " print \"%d square roots completed.\\n\" %(iterations*count)\n", " print \"Do you want to run some more(y or n)? \"\n", " answer = raw_input()\n", "\n", "cpu_end = time.time()\n", "calendar_end = datetime.datetime.now()\n", "\n", "\n", "print \"Final clock time = \", cpu_end, \" Final calendar time = \", calendar_end\n", "print \"CPU time for %d iterations is %.2f seconds\" %(count*iterations, (float(cpu_end-cpu_start)/time.clock()))\n", "print \"Elapsed calendar time to execute the program is\", calendar_end-calendar_start, \" seconds\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Initial clock time = 1387828819.12 Initial calendar time = 2013-12-24 01:30:19.115309\n", "1000000 square roots completed.\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Do you want to run some more(y or n)? \n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "y\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "2000000 square roots completed.\n", "\n", "Do you want to run some more(y or n)? \n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "n\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Final clock time = 1387828824.23 Final calendar time = 2013-12-24 01:30:24.232139\n", "CPU time for 2000000 iterations is 4.49 seconds\n", "Elapsed calendar time to execute the program is 0:00:05.116830 seconds\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Program 13.4, page no. 583" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "from datetime import *\n", "import time\n", "\n", "day = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"]\n", "month = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\",\n", " \"September\", \"October\", \"November\", \"December\"]\n", " \n", "now = datetime.now()\n", "suffix = \"\"\n", "\n", "today = day[datetime.today().weekday()]\n", "curr_month = month[now.month-1]\n", "\n", "if now.day == 1 or now.day == 21 or now.day == 31:\n", " suffix= \"st\"\n", "elif now.day == 2 or now.day == 22:\n", " suffix= \"nd\"\n", "elif now.day == 3 or now.day == 23:\n", " suffix = \"rd\"\n", "else:\n", " suffix= \"th\"\n", " \n", "print \"Today is \", today, \" the \",str(now.day)+suffix, curr_month, str(now.year)+\".\", \"The time is \", time.strftime(\"%H:%M:%S\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Today is Tuesday the 24th December 2013. The time is 01:30:43\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Program 13.5, page no. 586" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "from datetime import *\n", "import time\n", "\n", "day = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"]\n", "month = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\",\n", " \"September\", \"October\", \"November\", \"December\"]\n", " \n", "now = datetime.now()\n", "suffix = \"\"\n", "\n", "curr_month = month[now.month-1]\n", "\n", "print \"Enter a name: \",\n", "name = raw_input()\n", "print \"Enter a DOB for \", name\n", "dob_day = int(raw_input(\"Day: \"))\n", "dob_month = int(raw_input(\"Month: \"))\n", "dob_year = int(raw_input(\"Year: \"))\n", "dob_date = date(dob_year, dob_month, dob_day)\n", "\n", "if dob_day == 1 or dob_day == 21 or dob_day == 31:\n", " suffix= \"st\"\n", "elif dob_day == 2 or dob_day == 22:\n", " suffix= \"nd\"\n", "elif dob_day == 3 or dob_day == 23:\n", " suffix = \"rd\"\n", "else:\n", " suffix= \"th\"\n", "\n", "dob_month = month[dob_month-1]\n", "print name, \"Was born on \", str(dob_day)+suffix, dob_month, dob_year, \"which was a \", day[date.weekday(dob_date)]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Enter a name: " ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Ricky\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " Enter a DOB for Ricky\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Day: 5\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Month: 8\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Year: 1970\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Ricky Was born on 5th August 1970 which was a Wednesday\n" ] } ], "prompt_number": 4 } ], "metadata": {} } ] }