summaryrefslogtreecommitdiff
path: root/ANSI_C_Programming/chapter10.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'ANSI_C_Programming/chapter10.ipynb')
-rw-r--r--ANSI_C_Programming/chapter10.ipynb1534
1 files changed, 767 insertions, 767 deletions
diff --git a/ANSI_C_Programming/chapter10.ipynb b/ANSI_C_Programming/chapter10.ipynb
index 51080026..370cbcea 100644
--- a/ANSI_C_Programming/chapter10.ipynb
+++ b/ANSI_C_Programming/chapter10.ipynb
@@ -1,768 +1,768 @@
-{
- "metadata": {
- "name": "chapter10.ipynb"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER 10: STRUCTURES"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:342-343"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#storing & printing names,prices & pages of books\n",
- "name=[]\n",
- "price=[]\n",
- "pages=[]\n",
- "for i in range(3):\n",
- " name.append(\"\\0\")\n",
- " price.append(0)\n",
- " pages.append(0)\n",
- "print \"Enter names,prices and no. of pages of 3 books\\n\"\n",
- "for i in range(0,3,1):\n",
- " name[i]=raw_input()\n",
- " price[i]=eval(raw_input())\n",
- " pages[i]=eval(raw_input())\n",
- "print \"\\nAnd this is what you entered\\n\"\n",
- "for i in range(0,3,1):\n",
- " print \"%c %f %d\\n\" % (name[i],price[i],pages[i])"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter names,prices and no. of pages of 3 books\n",
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "100.00\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "354\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "C\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "256.50\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "682\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "F\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "233.70\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "512\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "And this is what you entered\n",
- "\n",
- "A 100.000000 354\n",
- "\n",
- "C 256.500000 682\n",
- "\n",
- "F 233.700000 512\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:343-344"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#storing & printing names,prices & pages of books using structure\n",
- "class book: #YOU CAN ALSO USE CTYPES FOR IMPLEMENTING STRUCTURES\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "b1=book()\n",
- "b2=book()\n",
- "b3=book()\n",
- "print \"Enter names,prices & no. of pages of 3 books\\n\"\n",
- "b1.name=raw_input()\n",
- "b1.price=eval(raw_input())\n",
- "b1.pages=eval(raw_input())\n",
- "b2.name=raw_input()\n",
- "b2.price=eval(raw_input())\n",
- "b2.pages=eval(raw_input())\n",
- "b3.name=raw_input()\n",
- "b3.price=eval(raw_input())\n",
- "b3.pages=eval(raw_input())\n",
- "print \"And this is what you entered\\n\"\n",
- "print \"%c %f %d\\n\" % (b1.name,b1.price,b1.pages)\n",
- "print \"%c %f %d\\n\" % (b2.name,b2.price,b2.pages)\n",
- "print \"%c %f %d\\n\" % (b3.name,b3.price,b3.pages)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter names,prices & no. of pages of 3 books\n",
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "100.00\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "354\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "C\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "256.50\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "682\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "F\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "233.70\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "512\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "And this is what you entered\n",
- "\n",
- "A 100.000000 354\n",
- "\n",
- "C 256.500000 682\n",
- "\n",
- "F 233.700000 512\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:347"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Memory map of structure elements\n",
- "class book():\n",
- " def __init__(self,**kwds):\n",
- " self.__dict__.update(kwds)\n",
- "b1=book(name='B',price=130.00,pages=550)\n",
- "print \"Address of name=%u\\n\" % (id(b1.name))\n",
- "print \"Address of price=%u\\n\" % (id(b1.price))\n",
- "print \"Address of pages=%u\\n\" % (id(b1.pages))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Address of name=20788864\n",
- "\n",
- "Address of price=88371144\n",
- "\n",
- "Address of pages=88859008\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:348-349"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Usage of an array of stuctures\n",
- "def linkfloat():\n",
- " a=0\n",
- " b=id(a) #cause emulator to be linked\n",
- "class book():\n",
- " def __init__(self,**kwds):\n",
- " self.__dict__.update(kwds)\n",
- "b=[]\n",
- "for i in range(3):\n",
- " b.append(0) #setting initial value as zero\n",
- "for i in range(0,3,1):\n",
- " b[i]=book()\n",
- "for i in range(0,3,1):\n",
- " print \"Enter name price and pages\"\n",
- " b[i].name=raw_input()\n",
- " b[i].price=eval(raw_input())\n",
- " b[i].pages=eval(raw_input())\n",
- "for i in range(0,3,1):\n",
- " print \"%c %f %d\\n\" % (b[i].name,b[i].price,b[i].pages)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter name price and pages\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "100.00\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "354\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter name price and pages\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "C\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "256.50\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "682\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter name price and pages\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "F\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "233.70\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "512\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "A 100.000000 354\n",
- "\n",
- "C 256.500000 682\n",
- "\n",
- "F 233.700000 512\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:350-351"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Copying elements of an structure into another structure\n",
- "class employee():\n",
- " def __init__(self,**kwds):\n",
- " self.__dict__.update(kwds)\n",
- "e1=employee(name=\"Sanjay\",age=30,salary=5500.50)\n",
- "e2=employee()\n",
- "e3=employee()\n",
- "#piece-meal copying\n",
- "import copy\n",
- "e2.name=copy.copy(e1.name)\n",
- "e2.age=e1.age\n",
- "e2.salary=e1.salary\n",
- "#copying all elements at one go\n",
- "e3=e2\n",
- "print \"%s %d %f\\n\" % (e1.name,e1.age,e1.salary)\n",
- "print \"%s %d %f\\n\" % (e2.name,e2.age,e2.salary)\n",
- "print \"%s %d %f\\n\" % (e3.name,e3.age,e3.salary)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Sanjay 30 5500.500000\n",
- "\n",
- "Sanjay 30 5500.500000\n",
- "\n",
- "Sanjay 30 5500.500000\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:351-352"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#declaring a structure inside another structure\n",
- "class address():\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "class emp():\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "a = address(phone=\"531046\", city=\"nagpur\", pin=10)\n",
- "e = emp(name=\"jeru\", address=a)\n",
- "print \"name=%s phone=%s\\n\" % (e.name,e.address.phone)\n",
- "print \"city=%s pin=%d\\n\" % (e.address.city,e.address.pin)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "name=jeru phone=531046\n",
- "\n",
- "city=nagpur pin=10\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:353"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#passing individual structure elements to a function\n",
- "class book():\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "def display(s,t,n):\n",
- " print \"%s %s %d\\n\" % (s,t,n)\n",
- "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
- "display(b1.name,b1.author,b1.callno)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Let us C YPK 101\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:353-354"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#passing whole structure to a function\n",
- "class book():\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "def display(b):\n",
- " print \"%s %s %d\\n\" % (b.name,b.author,b.callno)\n",
- "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
- "display(b1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Let us C YPK 101\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:354-355"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#printing structure elements to a function\n",
- "class book():\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
- "ptr=book()\n",
- "ptr=b1\n",
- "print \"%s %s %d\\n\" % (b1.name,b1.author,b1.callno)\n",
- "print \"%s %s %d\\n\" % (ptr.name,ptr.author,ptr.callno)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Let us C YPK 101\n",
- "\n",
- "Let us C YPK 101\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:355-356"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#passing address of a structure variable\n",
- "class book():\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "def display(b):\n",
- " print \"%s %s %d\\n\" % (b.name,b.author,b.callno)\n",
- "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
- "display(b1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Let us C YPK 101\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:356"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#printing address of elements of structure\n",
- "class emp():\n",
- " def __init__(self, **kwds):\n",
- " self.__dict__.update(kwds)\n",
- "e=emp(a=0,ch='\\0',s=0.0)\n",
- "print \"%u %u %u\\n\" % (id(e.a),id(e.ch),id(e.s))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "20623060 20204312 88374024\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "EXAMPLE ON PAGE:357-358"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Implementation of structure\n",
- "#pragma directive is not present in python\n",
- "class emp():\n",
- " def __init__(self,a,ch,s): #Structure without using dictionary\n",
- " self.a=a\n",
- " self.ch=ch\n",
- " self.s=s\n",
- "e=emp(a=0,ch='\\0',s=0.0)\n",
- "print \"%u %u %u\\n\" % (id(e.a),id(e.ch),id(e.s))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "20360916 19942168 88177544\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 10
- }
- ],
- "metadata": {}
- }
- ]
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2551d4c0f797f2bbef63a528dde1d2dd1067208b3f54db92e7a20ac687ed39db"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 10: STRUCTURES"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:342-343"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "name=[]\n",
+ "price=[]\n",
+ "pages=[]\n",
+ "for i in range(3):\n",
+ " name.append(\"\\0\")\n",
+ " price.append(0)\n",
+ " pages.append(0)\n",
+ "print \"Enter names,prices and no. of pages of 3 books\\n\"\n",
+ "for i in range(0,3,1):\n",
+ " name[i]=raw_input()\n",
+ " price[i]=eval(raw_input())\n",
+ " pages[i]=eval(raw_input())\n",
+ "print \"\\nAnd this is what you entered\\n\"\n",
+ "for i in range(0,3,1):\n",
+ " print \"%c %f %d\\n\" % (name[i],price[i],pages[i])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter names,prices and no. of pages of 3 books\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "A\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "100.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "354\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "256.50\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "682\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "F\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "233.70\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "512\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "And this is what you entered\n",
+ "\n",
+ "A 100.000000 354\n",
+ "\n",
+ "C 256.500000 682\n",
+ "\n",
+ "F 233.700000 512\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:343-344"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class book: #YOU CAN ALSO USE CTYPES FOR IMPLEMENTING STRUCTURES\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "b1=book()\n",
+ "b2=book()\n",
+ "b3=book()\n",
+ "print \"Enter names,prices & no. of pages of 3 books\\n\"\n",
+ "b1.name=raw_input()\n",
+ "b1.price=eval(raw_input())\n",
+ "b1.pages=eval(raw_input())\n",
+ "b2.name=raw_input()\n",
+ "b2.price=eval(raw_input())\n",
+ "b2.pages=eval(raw_input())\n",
+ "b3.name=raw_input()\n",
+ "b3.price=eval(raw_input())\n",
+ "b3.pages=eval(raw_input())\n",
+ "print \"And this is what you entered\\n\"\n",
+ "print \"%c %f %d\\n\" % (b1.name,b1.price,b1.pages)\n",
+ "print \"%c %f %d\\n\" % (b2.name,b2.price,b2.pages)\n",
+ "print \"%c %f %d\\n\" % (b3.name,b3.price,b3.pages)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter names,prices & no. of pages of 3 books\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "A\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "100.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "354\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "256.50\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "682\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "F\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "233.70\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "512\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "And this is what you entered\n",
+ "\n",
+ "A 100.000000 354\n",
+ "\n",
+ "C 256.500000 682\n",
+ "\n",
+ "F 233.700000 512\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:347"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class book():\n",
+ " def __init__(self,**kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "b1=book(name='B',price=130.00,pages=550)\n",
+ "print \"Address of name=%u\\n\" % (id(b1.name))\n",
+ "print \"Address of price=%u\\n\" % (id(b1.price))\n",
+ "print \"Address of pages=%u\\n\" % (id(b1.pages))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Address of name=20788864\n",
+ "\n",
+ "Address of price=88371144\n",
+ "\n",
+ "Address of pages=88859008\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:348-349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "def linkfloat():\n",
+ " a=0\n",
+ " b=id(a) #cause emulator to be linked\n",
+ "class book():\n",
+ " def __init__(self,**kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "b=[]\n",
+ "for i in range(3):\n",
+ " b.append(0) #setting initial value as zero\n",
+ "for i in range(0,3,1):\n",
+ " b[i]=book()\n",
+ "for i in range(0,3,1):\n",
+ " print \"Enter name price and pages\"\n",
+ " b[i].name=raw_input()\n",
+ " b[i].price=eval(raw_input())\n",
+ " b[i].pages=eval(raw_input())\n",
+ "for i in range(0,3,1):\n",
+ " print \"%c %f %d\\n\" % (b[i].name,b[i].price,b[i].pages)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter name price and pages\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "A\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "100.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "354\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter name price and pages\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "256.50\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "682\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter name price and pages\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "F\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "233.70\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "512\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "A 100.000000 354\n",
+ "\n",
+ "C 256.500000 682\n",
+ "\n",
+ "F 233.700000 512\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:350-351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class employee():\n",
+ " def __init__(self,**kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "e1=employee(name=\"Sanjay\",age=30,salary=5500.50)\n",
+ "e2=employee()\n",
+ "e3=employee()\n",
+ "#piece-meal copying\n",
+ "import copy\n",
+ "e2.name=copy.copy(e1.name)\n",
+ "e2.age=e1.age\n",
+ "e2.salary=e1.salary\n",
+ "#copying all elements at one go\n",
+ "e3=e2\n",
+ "print \"%s %d %f\\n\" % (e1.name,e1.age,e1.salary)\n",
+ "print \"%s %d %f\\n\" % (e2.name,e2.age,e2.salary)\n",
+ "print \"%s %d %f\\n\" % (e3.name,e3.age,e3.salary)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Sanjay 30 5500.500000\n",
+ "\n",
+ "Sanjay 30 5500.500000\n",
+ "\n",
+ "Sanjay 30 5500.500000\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:351-352"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class address():\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "class emp():\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "a = address(phone=\"531046\", city=\"nagpur\", pin=10)\n",
+ "e = emp(name=\"jeru\", address=a)\n",
+ "print \"name=%s phone=%s\\n\" % (e.name,e.address.phone)\n",
+ "print \"city=%s pin=%d\\n\" % (e.address.city,e.address.pin)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "name=jeru phone=531046\n",
+ "\n",
+ "city=nagpur pin=10\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:353"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class book():\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "def display(s,t,n):\n",
+ " print \"%s %s %d\\n\" % (s,t,n)\n",
+ "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
+ "display(b1.name,b1.author,b1.callno)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Let us C YPK 101\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:353-354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class book():\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "def display(b):\n",
+ " print \"%s %s %d\\n\" % (b.name,b.author,b.callno)\n",
+ "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
+ "display(b1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Let us C YPK 101\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:354-355"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class book():\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
+ "ptr=book()\n",
+ "ptr=b1\n",
+ "print \"%s %s %d\\n\" % (b1.name,b1.author,b1.callno)\n",
+ "print \"%s %s %d\\n\" % (ptr.name,ptr.author,ptr.callno)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Let us C YPK 101\n",
+ "\n",
+ "Let us C YPK 101\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:355-356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class book():\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "def display(b):\n",
+ " print \"%s %s %d\\n\" % (b.name,b.author,b.callno)\n",
+ "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n",
+ "display(b1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Let us C YPK 101\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class emp():\n",
+ " def __init__(self, **kwds):\n",
+ " self.__dict__.update(kwds)\n",
+ "e=emp(a=0,ch='\\0',s=0.0)\n",
+ "print \"%u %u %u\\n\" % (id(e.a),id(e.ch),id(e.s))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "20623060 20204312 88374024\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE ON PAGE:357-358"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ " \n",
+ "class emp():\n",
+ " def __init__(self,a,ch,s): #Structure without using dictionary\n",
+ " self.a=a\n",
+ " self.ch=ch\n",
+ " self.s=s\n",
+ "e=emp(a=0,ch='\\0',s=0.0)\n",
+ "print \"%u %u %u\\n\" % (id(e.a),id(e.ch),id(e.s))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "20360916 19942168 88177544\n",
+ "\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
} \ No newline at end of file