{ "metadata": { "name": "", "signature": "sha256:9c17589f9344a35ddc3dd493523efe0d9a1cf9ad387dc72f15338d1f77f12b62" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 5: Arrays and Pointers" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.1, page no. 137" ] }, { "cell_type": "code", "collapsed": false, "input": [ "'''\n", "python does not have pointer functionality.We can get it explicitly.\n", "'''\n", "\n", "class ref:\n", " def __init__(self, obj): self.obj = obj\n", " def get(self): return str(self.obj)\n", " def set(self, obj): self.obj = obj\n", "\n", "\n", "x=ref([0])\n", "p=x # assigning variable value to p\n", "\n", "p.set(0) # set x to zero */\n", "print \"\\nx is \" + x.get()\n", "print \"\\np is \" + p.get()\n", "a = p.get()\n", "p.set(int(a)+1) # increment what p points to */\n", "print \"\\nx is \" +x.get()\n", "a = p.get()\n", "p.set(int(a)+1) # increment what p points to */\n", "print \"\\nx is \" + x.get()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "x is 0\n", "\n", "p is 0\n", "\n", "x is 1\n", "\n", "x is 2\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.2, page no. 139" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "def date(a,b): # /* declare the function */\n", " day_ret =0\n", " month_ret = 0\n", " ''' At this point, calculate the day and month\n", " * values in day_ret and month_ret respectively.\n", " '''\n", " a = day_ret;\n", " b = month_ret;\n", " return a,b\n", "\n", "\n", "\n", "\n", "month = 5\n", "day = 1\n", "d,m = date(day,month);\n", "print \"day is %d, month is %d\\n\" %(d, m)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "day is 0, month is 0\n", "\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.3, page no. 142" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "from array import array\n", "\n", "ARSZ=20\n", "ar=[]\n", "\n", "for i in range(ARSZ + 1):\n", " ar.append( i)\n", " print \"ar[%d] now = %d\\n\" %( i, ar[i])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "ar[0] now = 0\n", "\n", "ar[1] now = 1\n", "\n", "ar[2] now = 2\n", "\n", "ar[3] now = 3\n", "\n", "ar[4] now = 4\n", "\n", "ar[5] now = 5\n", "\n", "ar[6] now = 6\n", "\n", "ar[7] now = 7\n", "\n", "ar[8] now = 8\n", "\n", "ar[9] now = 9\n", "\n", "ar[10] now = 10\n", "\n", "ar[11] now = 11\n", "\n", "ar[12] now = 12\n", "\n", "ar[13] now = 13\n", "\n", "ar[14] now = 14\n", "\n", "ar[15] now = 15\n", "\n", "ar[16] now = 16\n", "\n", "ar[17] now = 17\n", "\n", "ar[18] now = 18\n", "\n", "ar[19] now = 19\n", "\n", "ar[20] now = 20\n", "\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.4 & 5.5, page no. 146" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "ARSZ = 10\n", "\n", "fp1= ARSZ\n", "fp2=0\n", "\n", "\n", "while(fp2 != fp1):\n", " print \"Difference: %d\\n\" %((ARSZ-fp1))\n", " fp1 -= 1" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Difference: 0\n", "\n", "Difference: 1\n", "\n", "Difference: 2\n", "\n", "Difference: 3\n", "\n", "Difference: 4\n", "\n", "Difference: 5\n", "\n", "Difference: 6\n", "\n", "Difference: 7\n", "\n", "Difference: 8\n", "\n", "Difference: 9\n", "\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.6, page no. 149" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "s = raw_input(\"Enter String:\")\n", "print len(s)" ], "language": "python", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter String:python \n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "7\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.7, page no. 150" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "def str_eq(s1,s2):\n", " if s1==s2:\n", " return True\n", " return False\n", "\n", "print str_eq(\"this\",\"hello\")\n", "print str_eq(\"this\",\"this\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "False\n", "True\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.8, page no. 151" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "cp = \"a string\";\n", "for i in cp:\n", " print i,\n", "\n", "print \"\\n\"\n", "for i in range(len(cp)):\n", " print cp[i]," ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "a s t r i n g \n", "\n", "a s t r i n g\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.9, page no. 152" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import numpy\n", "\n", "ARLEN=10\n", "ar = numpy.zeros(ARLEN)\n", "\n", "print ar" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.10, page no. 158" ] }, { "cell_type": "code", "collapsed": false, "input": [ "'''\n", "Python does not have any concept of pointer.\n", "Python will go same for all mentioned.\n", "'''\n", "\n", "\n", "MAXSTRING=50 # /* max no. of strings */\n", "MAXLEN = 80 #/* max length. of strings */\n", "\n", "strings = [] # list of strings\n", "\n", "def print_arr(a):\n", " print a\n", "\n", "\n", "def sort_arr(a):\n", " a.sort()\n", " return a\n", "\n", "\n", "def next_string():\n", " s = raw_input(\"Enter Next String : \")\n", " strings.append(s)\n", " return s\n", "\n", "nstrings = 0\n", "\n", "while(nstrings < MAXSTRING and next_string() != '0'):\n", " nstrings += 1\n", "\n", "print_arr(strings)\n", "print sort_arr(strings)" ], "language": "python", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter Next String : abc\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter Next String : def\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter Next String : fed\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter Next String : 0\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "['abc', 'def', 'fed', '0']\n", "['0', 'abc', 'def', 'fed']\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.13, page no. 165" ] }, { "cell_type": "code", "collapsed": false, "input": [ "'''\n", "We need not to worry about memory allocation and deallocation in python.\n", "It is simple to get a string, print and copy it.\n", "'''\n", "\n", "\n", "str_p = \"\"\n", "tmp_p = \"\"\n", "\n", "str_p = raw_input(\"Enter String.. : \")\n", "next_p = str_p\n", "chars_read = len(str_p)\n", "\n", "\n", "tmp_p = str_p\n", "\n", "print tmp_p\n", "\n", "\n", "print str_p" ], "language": "python", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter String.. : hello\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "hello\n", "hello\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.14, page no. 165" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "arr = \"hello\"\n", "a = arr\n", "print \"Size of arr %d\\n\" % len(arr)\n", "print \"Size of a %d\\n\" % len(a)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Size of arr 5\n", "\n", "Size of a 5\n", "\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 5.16, page no. 167" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "def func(arg):\n", "\tprint \"%d\\n\" %(arg)\n", "\n", "func(5)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "5\n", "\n" ] } ], "prompt_number": 10 } ], "metadata": {} } ] }