From f270f72badd9c61d48f290c3396004802841b9df Mon Sep 17 00:00:00 2001 From: kinitrupti Date: Fri, 12 May 2017 18:53:46 +0530 Subject: Removed duplicates --- .../Chapter_6_Objects.ipynb | 934 +++++++++++++++++++++ .../Chapter_6_Objects_and.ipynb | 934 --------------------- 2 files changed, 934 insertions(+), 934 deletions(-) create mode 100755 sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects.ipynb delete mode 100755 sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects_and.ipynb (limited to 'sample_notebooks/Aman KumarJain') diff --git a/sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects.ipynb b/sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects.ipynb new file mode 100755 index 00000000..89a18f99 --- /dev/null +++ b/sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects.ipynb @@ -0,0 +1,934 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:bd4e7931ddf89d8dc8befb681e1e57c7a9c742cd8abe8e18a494a55156d56cee" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 6: Objects and Classes" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.1, Page Number: 216" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class smallobj: #define a class\n", + " \n", + " def setdata(self,d): #member function to set class variable somdata\n", + " self.__somedata = d\n", + " \n", + " def showdata(self): #member function to display somedata \n", + " print 'Data is ' , self.__somedata\n", + "\n", + "\n", + "#define two objects of class smallobj\n", + "s1=smallobj()\n", + "s2=smallobj()\n", + "\n", + "#call member function to set data \n", + "s1.setdata(1066)\n", + "s2.setdata(1776)\n", + "\n", + "#call member function to display data \n", + "s1.showdata()\n", + "s2.showdata()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Data is 1066\n", + "Data is 1776\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.2, Page Number: 223" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class part: #define class \n", + " \n", + " def setpart(self,mn,pn,c): #set data\n", + " self.__modelnumber = mn\n", + " self.__partnumber = pn\n", + " self.__cost = c\n", + " \n", + " def showpart(self): #display data \n", + " print 'Model' , self.__modelnumber ,\n", + " print ', part' , self.__partnumber , \n", + " print ', costs $',self.__cost\n", + " \n", + "#define object of class part \n", + "part1 = part()\n", + "\n", + "#call member function setpart\n", + "part1.setpart(6244,373,217.55)\n", + "\n", + "#call member function showpart\n", + "part1.showpart()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Model 6244 , part 373 , costs $ 217.55\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.3, Page Number: 225" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from turtle import * #importing turtles library\n", + "\n", + "class circle: #defining circle class\n", + " \n", + " def set(self,x,y,r,fc): #sets circle attribute\n", + " self._xCo = x\n", + " self._yCo = y\n", + " self._radius = r\n", + " self._fillcolor = fc\n", + " \n", + " def draw(self): #draws the circle \n", + " setup() #set screen\n", + " turtle = Turtle() #object of Turtle class\n", + " turtle.begin_fill() #start filling color in circle\n", + " turtle.color(self._fillcolor) #color\n", + " turtle.up()\n", + " turtle.goto(self._xCo,self._yCo) #set center of circle\n", + " turtle.circle(self._radius) #draw circle of radius self.__radius\n", + " turtle.end_fill() #stop filling\n", + " turtle.hideturtle()\n", + " done()\n", + "\n", + "#creating objects of class circle \n", + "c1 = circle()\n", + "c2 = circle()\n", + "c3 = circle()\n", + "\n", + "#sending the value to set fnction\n", + "c1.set(15,7,5,\"blue\")\n", + "c2.set(41,12,7,\"red\")\n", + "c3.set(65,18,4,\"green\")\n", + "\n", + "#draw circle\n", + "c1.draw()\n", + "c2.draw()\n", + "c3.draw()\n", + "\n", + "#In the above example the cirlcle's in the book are constructed using 'X' and 'O' but such feature is not available in Python.\n", + "#So i have created a simple circle filled with color" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.4, Page Number: 226" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Distance: #Distance class\n", + " \n", + " def setdist(self,ft,inc): #set distance to class variables\n", + " self.__feet = ft\n", + " self.__inches = inc\n", + " \n", + " def getdist(self): #get distance from user\n", + " self.__feet = input('Enter feet:')\n", + " self.__inches = input('Enter inches:')\n", + " \n", + " def showdist(self): #display distance\n", + " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", + "\n", + "#define two distance\n", + "dist1 = Distance()\n", + "dist2 = Distance()\n", + "\n", + "dist1.setdist(11,6.25) #set dist1\n", + "dist2.getdist() #set dist2 from user\n", + "\n", + "#show distances\n", + "print \"dist1 = \",\n", + "dist1.showdist()\n", + "print 'dist2 = ',\n", + "dist2.showdist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter feet:17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter inches:5.75\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dist1 = 11 ' - 6.25 \"\n", + "dist2 = 17 ' - 5.75 \"\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.5, Page Number: 228" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Counter:\n", + " \n", + " def __init__(self): #constructor\n", + " self.__count = 0\n", + " \n", + " def inc_count(self): #increment count\n", + " self.__count = self.__count + 1\n", + " \n", + " def get_count(self): #return count\n", + " return self.__count\n", + "\n", + "#define and initialize class objects\n", + "c1=Counter()\n", + "c2=Counter()\n", + "\n", + "#display count for each object\n", + "print 'c1 =',c1.get_count()\n", + "print 'c2 =',c2.get_count()\n", + "\n", + "\n", + "c1.inc_count() #increment c1\n", + "c2.inc_count() #increment c2\n", + "c2.inc_count() #increment c2\n", + "\n", + "#display count again for each object\n", + "print 'c1 =',c1.get_count()\n", + "print 'c2 =',c2.get_count()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "c1 = 0\n", + "c2 = 0\n", + "c1 = 1\n", + "c2 = 2\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.6, Page Number: 231" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from turtle import * #importing turtles library\n", + "\n", + "class circle: #defining circle class\n", + " \n", + " def __init__(self,x,y,r,fc): #constructor for set circle attribute\n", + " self._xCo = x\n", + " self._yCo = y\n", + " self._radius = r\n", + " self._fillcolor = fc\n", + " \n", + " def draw(self): #draws the circle\n", + " setup()\n", + " turtle = Turtle()\n", + " turtle.begin_fill()\n", + " turtle.color(self._fillcolor)\n", + " turtle.up()\n", + " turtle.goto(self._xCo,self._yCo)\n", + " turtle.down()\n", + " turtle.circle(self._radius)\n", + " turtle.end_fill()\n", + " turtle.hideturtle()\n", + " done()\n", + "\n", + "#creating objects of class circle \n", + "c1 = circle(15,7,5,\"blue\") \n", + "c2 = circle(41,12,7,\"red\")\n", + "c3 = circle(65,18,4,\"green\")\n", + "\n", + "#draw circle\n", + "c1.draw()\n", + "c2.draw()\n", + "c3.draw()" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.7, Page Number: 233" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Distance: #Distance class\n", + " \n", + " def __init__(self,ft=0,inc=0): #constructor \n", + " self.__feet = ft\n", + " self.__inches = inc\n", + " \n", + " def getdist(self): #get length from user\n", + " self.__feet = input('Enter feet:')\n", + " self.__inches = input('Enter inches:')\n", + " \n", + " def showdist(self): #display distance\n", + " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", + " \n", + " def add_dist(self,d2,d3): #add length d2 and d3\n", + " self.__inches = d2.__inches + d3.__inches #add inches\n", + " self.__feet = 0\n", + " if self.__inches >= 12.0: #if total exceeds 12.0\n", + " self.__inches = self.__inches - 12.0 #then decrease inches by 12.0\n", + " self.__feet = self.__feet + 1 #and increase feet by 1\n", + " self.__feet = self.__feet + d2.__feet + d3.__feet #add the feet\n", + "\n", + "#define two length\n", + "dist1 = Distance()\n", + "dist3 = Distance()\n", + "\n", + "#define and initialize dist2\n", + "dist2 = Distance(11,6.25)\n", + "\n", + "#get dist1 from user\n", + "dist1.getdist()\n", + "\n", + "#dist3 = dist1 + dist2\n", + "dist3.add_dist(dist1,dist2)\n", + "\n", + "#display all lengths\n", + "print 'dist1 = ',\n", + "dist1.showdist()\n", + "print 'dist2 = ',\n", + "dist2.showdist()\n", + "print 'dist3 = ',\n", + "dist3.showdist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter feet:17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter inches:5.75\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dist1 = 17 ' - 5.75 \"\n", + "dist2 = 11 ' - 6.25 \"\n", + "dist3 = 29 ' - 0.0 \"\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.8, Page Number: 238" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Distance: #Distance class\n", + " \n", + " def __init__(self,ft=0,inc=0): #overloaded constructor that takes no arguments or two args or one object(copy constructor)\n", + " if isinstance(ft,int):\n", + " self.__feet = ft\n", + " self.__inches = inc\n", + " else:\n", + " self.__feet = ft.__feet\n", + " self.__inches = ft.__inches\n", + " \n", + " def getdist(self): #get length from user\n", + " self.__feet = input('Enter feet:')\n", + " self.__inches = input('Enter inches:')\n", + " \n", + " def showdist(self): #display distance\n", + " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", + "\n", + "#two argument constructor\n", + "dist1 = Distance(11,6.25)\n", + "\n", + "#one argument(object) constructor explicitly pass\n", + "dist2 = Distance(dist1)\n", + "\n", + "#also one argument(object) constructor implicitly pass\n", + "dist3 = dist1\n", + "\n", + "#display all lengths\n", + "print 'dist1 = ',\n", + "dist1.showdist()\n", + "print 'dist2 = ',\n", + "dist2.showdist()\n", + "print 'dist3 = ',\n", + "dist3.showdist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dist1 = 11 ' - 6.25 \"\n", + "dist2 = 11 ' - 6.25 \"\n", + "dist3 = 11 ' - 6.25 \"\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.9, Page Number: 240" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Distance: #Distance class\n", + " \n", + " def __init__(self,ft=0,inc=0): #constructor \n", + " self.__feet = ft\n", + " self.__inches = inc\n", + " \n", + " def getdist(self): #get length from user\n", + " self.__feet = input('Enter feet:')\n", + " self.__inches = input('Enter inches:')\n", + " \n", + " def showdist(self): #display distance\n", + " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", + " \n", + " def add_dist(self,d2): #add this length to d2 and return object\n", + " temp = Distance() #temporary object\n", + " temp.__inches = self.__inches + d2.__inches\n", + " if temp.__inches >= 12.0:\n", + " temp.__inches = temp.__inches - 12.0\n", + " temp.__feet = 1\n", + " temp.__feet = temp.__feet + self.__feet + d2.__feet\n", + " return temp #return sum as object\n", + "\n", + "#define two length\n", + "dist1 = Distance()\n", + "dist3 = Distance()\n", + "\n", + "#define and initialize dist2\n", + "dist2 = Distance(11,6.25)\n", + "\n", + "#get dist1 from user\n", + "dist1.getdist()\n", + "\n", + "#dist3 = dist1 + dist2\n", + "dist3 = dist1.add_dist(dist2)\n", + "\n", + "#display all lengths\n", + "print 'dist1 = ',\n", + "dist1.showdist()\n", + "print 'dist2 = ',\n", + "dist2.showdist()\n", + "print 'dist3 = ',\n", + "dist3.showdist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter feet:17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter inches:5.75\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dist1 = 17 ' - 5.75 \"\n", + "dist2 = 11 ' - 6.25 \"\n", + "dist3 = 29 ' - 0.0 \"\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.10, Page Number: 243" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "Suit = [\"clubs\",\"diamonds\",\"hearts\",\"spades\"] \n", + "\n", + "(clubs,diamonds,hearts,spades) = (0,1,2,3) #Atteching the names with number \n", + "\n", + "\n", + "#from 2 to 10 are integers without names\n", + "jack = 11 \n", + "queen = 12 \n", + "king = 13\n", + "ace = 14\n", + "\n", + "\n", + "class card: \n", + " \n", + " def __init__(self,n=None,s=None): #constructor\n", + " self.__number = n #2 to 10, jack, queen, king, ace\n", + " self.__suit = s #clubs, diamonds, hearts, spades\n", + " \n", + " def display(self): #display the cards\n", + " \n", + " if self.__number >= 2 and self.__number<=10:\n", + " print self.__number , 'of',\n", + " \n", + " else:\n", + " if self.__number == jack:\n", + " print 'jack of',\n", + " elif self.__number == queen:\n", + " print 'queen of',\n", + " elif self.__number == king:\n", + " print 'king of',\n", + " else:\n", + " print 'ace of',\n", + " \n", + " if self.__suit == clubs:\n", + " print 'clubs'\n", + " elif self.__suit == diamonds:\n", + " print 'diamonds'\n", + " elif self.__suit == hearts:\n", + " print 'hearts'\n", + " else:\n", + " print 'spades'\n", + " \n", + " def isEqual(self,c2): #return 1 if cards equal\n", + " \n", + " if self.__number == c2.__number and self.__suit == c2.__suit:\n", + " return 1\n", + " else:\n", + " return 0\n", + "\n", + "\n", + "#define various cards\n", + "temp = card()\n", + "chosen = card()\n", + "prize = card()\n", + "\n", + "\n", + "#define and initialize card1\n", + "card1 = card(7,clubs)\n", + "print 'card 1 is the',\n", + "card1.display() #display card1\n", + "\n", + "#define and initialize card2\n", + "card2 = card(jack,hearts)\n", + "print 'card 2 is the',\n", + "card2.display() #display card2\n", + "\n", + "#define and initialize card3\n", + "card3 = card(ace,spades)\n", + "print 'card 3 is the',\n", + "card3.display() #display card3\n", + "\n", + "\n", + "#prize is the card to guess\n", + "prize = card3\n", + "\n", + "\n", + "#swapping cards\n", + "print 'I\\'m swapping card 1 and card 3'\n", + "temp = card3\n", + "card3 = card1\n", + "card1 = temp\n", + "\n", + "print 'I\\'m swapping card 2 and card 3'\n", + "temp = card2\n", + "card3 = card2\n", + "card2 = temp\n", + "\n", + "print 'I\\'m swapping card 1 and card 2'\n", + "temp = card2\n", + "card2 = card1\n", + "card1 = temp\n", + "\n", + "print 'Now, where (1,2, or 3) is the',\n", + "prize.display() #display prize\n", + "print '?'\n", + "\n", + "position = input() #get user's guess of position\n", + "\n", + "\n", + "#set chosen to user's choice \n", + "if position == 1:\n", + " chosen = card1\n", + "elif position == 2:\n", + " chosen = card2\n", + "else:\n", + " chosen = card3\n", + "\n", + "#is chosen card the prize?\n", + "\n", + "x=chosen.isEqual(prize)\n", + "\n", + "if x==1:\n", + " print 'That\\'s right! You win!'\n", + "else:\n", + " print 'Sorry. You lose.'\n", + "\n", + "print 'You choose the',\n", + "\n", + "#display chosen card\n", + "chosen.display()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "card 1 is the 7 of clubs\n", + "card 2 is the jack of hearts\n", + "card 3 is the ace of spades\n", + "I'm swapping card 1 and card 3\n", + "I'm swapping card 2 and card 3\n", + "I'm swapping card 1 and card 2\n", + "Now, where (1,2, or 3) is the ace of spades\n", + "?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "2\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "That's right! You win!\n", + "You choose the ace of spades\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.11, Page Number: 249" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class foo: \n", + " \n", + " __count = 0 #only one data item for all objects\n", + " \n", + " def __init__(self):\n", + " foo.__count = foo.__count + 1 #increment count when object created\n", + " \n", + " def getcount(self): #returns count\n", + " return foo.__count\n", + "\n", + "#create three objecs\n", + "f1 = foo()\n", + "f2 = foo()\n", + "f3 = foo()\n", + "\n", + "#Each object displays the same count value\n", + "print 'count is', f1.getcount()\n", + "print 'count is', f2.getcount()\n", + "print 'count is', f3.getcount()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "count is 3\n", + "count is 3\n", + "count is 3\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.12, Page Number: 253" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Distance: #Distance class\n", + " \n", + " def __init__(self,ft=0,inc=0.0): #constructor \n", + " self.__feet = ft\n", + " self.__inches = inc\n", + " \n", + " def getdist(self): #get length from user\n", + " self.__feet = input('Enter feet:')\n", + " self.__inches = input('Enter inches:')\n", + " \n", + " def showdist(self): #display distance\n", + " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", + "\n", + "#There's no const keyword \n", + " \n", + " def add_dist(self,d2): #add this length to d2 and return object\n", + " \n", + " temp = Distance()\n", + " temp.__inches = self.__inches + d2.__inches\n", + " \n", + " if temp.__inches >= 12.0:\n", + " temp.__inches = temp.__inches - 12.0\n", + " temp.__feet = 1\n", + " \n", + " temp.__feet = temp.__feet + self.__feet + d2.__feet\n", + " \n", + " return temp #return sum as object\n", + " \n", + "dist1 = Distance()\n", + "dist3 = Distance()\n", + "dist2 = Distance(11,6.25)\n", + "\n", + "dist1.getdist()\n", + "\n", + "dist3 = dist1.add_dist(dist2)\n", + "\n", + "print 'dist1 = ',\n", + "dist1.showdist()\n", + "print 'dist2 = ',\n", + "dist2.showdist()\n", + "print 'dist3 = ',\n", + "dist3.showdist()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter feet:17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter inches:5.75\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "dist1 = 17 ' - 5.75 \"\n", + "dist2 = 11 ' - 6.25 \"\n", + "dist3 = 29 ' - 0.0 \"\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Example 6.13, Page Number: 255" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class Distance:\n", + " \n", + " def __init__(self,ft,inc):\n", + " self.__feet = ft\n", + " self.__inches = inc\n", + " \n", + " def getdist(self):\n", + " self.__feet = input('Enter feet:')\n", + " self.__inches = input('Enter inches:')\n", + " \n", + " def showdist(self):\n", + " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", + "\n", + "football = Distance(300,0)\n", + "\n", + "print 'football = ',\n", + "football.showdist()\n", + "\n", + "#There's no const keyword in python" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "football = 300 ' - 0 \"\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file diff --git a/sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects_and.ipynb b/sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects_and.ipynb deleted file mode 100755 index 89a18f99..00000000 --- a/sample_notebooks/Aman KumarJain/Aman KumarJain_version_backup/Chapter_6_Objects_and.ipynb +++ /dev/null @@ -1,934 +0,0 @@ -{ - "metadata": { - "name": "", - "signature": "sha256:bd4e7931ddf89d8dc8befb681e1e57c7a9c742cd8abe8e18a494a55156d56cee" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "heading", - "level": 1, - "metadata": {}, - "source": [ - "Chapter 6: Objects and Classes" - ] - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.1, Page Number: 216" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class smallobj: #define a class\n", - " \n", - " def setdata(self,d): #member function to set class variable somdata\n", - " self.__somedata = d\n", - " \n", - " def showdata(self): #member function to display somedata \n", - " print 'Data is ' , self.__somedata\n", - "\n", - "\n", - "#define two objects of class smallobj\n", - "s1=smallobj()\n", - "s2=smallobj()\n", - "\n", - "#call member function to set data \n", - "s1.setdata(1066)\n", - "s2.setdata(1776)\n", - "\n", - "#call member function to display data \n", - "s1.showdata()\n", - "s2.showdata()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Data is 1066\n", - "Data is 1776\n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.2, Page Number: 223" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class part: #define class \n", - " \n", - " def setpart(self,mn,pn,c): #set data\n", - " self.__modelnumber = mn\n", - " self.__partnumber = pn\n", - " self.__cost = c\n", - " \n", - " def showpart(self): #display data \n", - " print 'Model' , self.__modelnumber ,\n", - " print ', part' , self.__partnumber , \n", - " print ', costs $',self.__cost\n", - " \n", - "#define object of class part \n", - "part1 = part()\n", - "\n", - "#call member function setpart\n", - "part1.setpart(6244,373,217.55)\n", - "\n", - "#call member function showpart\n", - "part1.showpart()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Model 6244 , part 373 , costs $ 217.55\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.3, Page Number: 225" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "from turtle import * #importing turtles library\n", - "\n", - "class circle: #defining circle class\n", - " \n", - " def set(self,x,y,r,fc): #sets circle attribute\n", - " self._xCo = x\n", - " self._yCo = y\n", - " self._radius = r\n", - " self._fillcolor = fc\n", - " \n", - " def draw(self): #draws the circle \n", - " setup() #set screen\n", - " turtle = Turtle() #object of Turtle class\n", - " turtle.begin_fill() #start filling color in circle\n", - " turtle.color(self._fillcolor) #color\n", - " turtle.up()\n", - " turtle.goto(self._xCo,self._yCo) #set center of circle\n", - " turtle.circle(self._radius) #draw circle of radius self.__radius\n", - " turtle.end_fill() #stop filling\n", - " turtle.hideturtle()\n", - " done()\n", - "\n", - "#creating objects of class circle \n", - "c1 = circle()\n", - "c2 = circle()\n", - "c3 = circle()\n", - "\n", - "#sending the value to set fnction\n", - "c1.set(15,7,5,\"blue\")\n", - "c2.set(41,12,7,\"red\")\n", - "c3.set(65,18,4,\"green\")\n", - "\n", - "#draw circle\n", - "c1.draw()\n", - "c2.draw()\n", - "c3.draw()\n", - "\n", - "#In the above example the cirlcle's in the book are constructed using 'X' and 'O' but such feature is not available in Python.\n", - "#So i have created a simple circle filled with color" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 3 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.4, Page Number: 226" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class Distance: #Distance class\n", - " \n", - " def setdist(self,ft,inc): #set distance to class variables\n", - " self.__feet = ft\n", - " self.__inches = inc\n", - " \n", - " def getdist(self): #get distance from user\n", - " self.__feet = input('Enter feet:')\n", - " self.__inches = input('Enter inches:')\n", - " \n", - " def showdist(self): #display distance\n", - " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", - "\n", - "#define two distance\n", - "dist1 = Distance()\n", - "dist2 = Distance()\n", - "\n", - "dist1.setdist(11,6.25) #set dist1\n", - "dist2.getdist() #set dist2 from user\n", - "\n", - "#show distances\n", - "print \"dist1 = \",\n", - "dist1.showdist()\n", - "print 'dist2 = ',\n", - "dist2.showdist()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter feet:17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter inches:5.75\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "dist1 = 11 ' - 6.25 \"\n", - "dist2 = 17 ' - 5.75 \"\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.5, Page Number: 228" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class Counter:\n", - " \n", - " def __init__(self): #constructor\n", - " self.__count = 0\n", - " \n", - " def inc_count(self): #increment count\n", - " self.__count = self.__count + 1\n", - " \n", - " def get_count(self): #return count\n", - " return self.__count\n", - "\n", - "#define and initialize class objects\n", - "c1=Counter()\n", - "c2=Counter()\n", - "\n", - "#display count for each object\n", - "print 'c1 =',c1.get_count()\n", - "print 'c2 =',c2.get_count()\n", - "\n", - "\n", - "c1.inc_count() #increment c1\n", - "c2.inc_count() #increment c2\n", - "c2.inc_count() #increment c2\n", - "\n", - "#display count again for each object\n", - "print 'c1 =',c1.get_count()\n", - "print 'c2 =',c2.get_count()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "c1 = 0\n", - "c2 = 0\n", - "c1 = 1\n", - "c2 = 2\n" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.6, Page Number: 231" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "from turtle import * #importing turtles library\n", - "\n", - "class circle: #defining circle class\n", - " \n", - " def __init__(self,x,y,r,fc): #constructor for set circle attribute\n", - " self._xCo = x\n", - " self._yCo = y\n", - " self._radius = r\n", - " self._fillcolor = fc\n", - " \n", - " def draw(self): #draws the circle\n", - " setup()\n", - " turtle = Turtle()\n", - " turtle.begin_fill()\n", - " turtle.color(self._fillcolor)\n", - " turtle.up()\n", - " turtle.goto(self._xCo,self._yCo)\n", - " turtle.down()\n", - " turtle.circle(self._radius)\n", - " turtle.end_fill()\n", - " turtle.hideturtle()\n", - " done()\n", - "\n", - "#creating objects of class circle \n", - "c1 = circle(15,7,5,\"blue\") \n", - "c2 = circle(41,12,7,\"red\")\n", - "c3 = circle(65,18,4,\"green\")\n", - "\n", - "#draw circle\n", - "c1.draw()\n", - "c2.draw()\n", - "c3.draw()" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 6 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.7, Page Number: 233" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class Distance: #Distance class\n", - " \n", - " def __init__(self,ft=0,inc=0): #constructor \n", - " self.__feet = ft\n", - " self.__inches = inc\n", - " \n", - " def getdist(self): #get length from user\n", - " self.__feet = input('Enter feet:')\n", - " self.__inches = input('Enter inches:')\n", - " \n", - " def showdist(self): #display distance\n", - " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", - " \n", - " def add_dist(self,d2,d3): #add length d2 and d3\n", - " self.__inches = d2.__inches + d3.__inches #add inches\n", - " self.__feet = 0\n", - " if self.__inches >= 12.0: #if total exceeds 12.0\n", - " self.__inches = self.__inches - 12.0 #then decrease inches by 12.0\n", - " self.__feet = self.__feet + 1 #and increase feet by 1\n", - " self.__feet = self.__feet + d2.__feet + d3.__feet #add the feet\n", - "\n", - "#define two length\n", - "dist1 = Distance()\n", - "dist3 = Distance()\n", - "\n", - "#define and initialize dist2\n", - "dist2 = Distance(11,6.25)\n", - "\n", - "#get dist1 from user\n", - "dist1.getdist()\n", - "\n", - "#dist3 = dist1 + dist2\n", - "dist3.add_dist(dist1,dist2)\n", - "\n", - "#display all lengths\n", - "print 'dist1 = ',\n", - "dist1.showdist()\n", - "print 'dist2 = ',\n", - "dist2.showdist()\n", - "print 'dist3 = ',\n", - "dist3.showdist()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter feet:17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter inches:5.75\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "dist1 = 17 ' - 5.75 \"\n", - "dist2 = 11 ' - 6.25 \"\n", - "dist3 = 29 ' - 0.0 \"\n" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.8, Page Number: 238" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class Distance: #Distance class\n", - " \n", - " def __init__(self,ft=0,inc=0): #overloaded constructor that takes no arguments or two args or one object(copy constructor)\n", - " if isinstance(ft,int):\n", - " self.__feet = ft\n", - " self.__inches = inc\n", - " else:\n", - " self.__feet = ft.__feet\n", - " self.__inches = ft.__inches\n", - " \n", - " def getdist(self): #get length from user\n", - " self.__feet = input('Enter feet:')\n", - " self.__inches = input('Enter inches:')\n", - " \n", - " def showdist(self): #display distance\n", - " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", - "\n", - "#two argument constructor\n", - "dist1 = Distance(11,6.25)\n", - "\n", - "#one argument(object) constructor explicitly pass\n", - "dist2 = Distance(dist1)\n", - "\n", - "#also one argument(object) constructor implicitly pass\n", - "dist3 = dist1\n", - "\n", - "#display all lengths\n", - "print 'dist1 = ',\n", - "dist1.showdist()\n", - "print 'dist2 = ',\n", - "dist2.showdist()\n", - "print 'dist3 = ',\n", - "dist3.showdist()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "dist1 = 11 ' - 6.25 \"\n", - "dist2 = 11 ' - 6.25 \"\n", - "dist3 = 11 ' - 6.25 \"\n" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.9, Page Number: 240" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class Distance: #Distance class\n", - " \n", - " def __init__(self,ft=0,inc=0): #constructor \n", - " self.__feet = ft\n", - " self.__inches = inc\n", - " \n", - " def getdist(self): #get length from user\n", - " self.__feet = input('Enter feet:')\n", - " self.__inches = input('Enter inches:')\n", - " \n", - " def showdist(self): #display distance\n", - " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", - " \n", - " def add_dist(self,d2): #add this length to d2 and return object\n", - " temp = Distance() #temporary object\n", - " temp.__inches = self.__inches + d2.__inches\n", - " if temp.__inches >= 12.0:\n", - " temp.__inches = temp.__inches - 12.0\n", - " temp.__feet = 1\n", - " temp.__feet = temp.__feet + self.__feet + d2.__feet\n", - " return temp #return sum as object\n", - "\n", - "#define two length\n", - "dist1 = Distance()\n", - "dist3 = Distance()\n", - "\n", - "#define and initialize dist2\n", - "dist2 = Distance(11,6.25)\n", - "\n", - "#get dist1 from user\n", - "dist1.getdist()\n", - "\n", - "#dist3 = dist1 + dist2\n", - "dist3 = dist1.add_dist(dist2)\n", - "\n", - "#display all lengths\n", - "print 'dist1 = ',\n", - "dist1.showdist()\n", - "print 'dist2 = ',\n", - "dist2.showdist()\n", - "print 'dist3 = ',\n", - "dist3.showdist()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter feet:17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter inches:5.75\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "dist1 = 17 ' - 5.75 \"\n", - "dist2 = 11 ' - 6.25 \"\n", - "dist3 = 29 ' - 0.0 \"\n" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.10, Page Number: 243" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "Suit = [\"clubs\",\"diamonds\",\"hearts\",\"spades\"] \n", - "\n", - "(clubs,diamonds,hearts,spades) = (0,1,2,3) #Atteching the names with number \n", - "\n", - "\n", - "#from 2 to 10 are integers without names\n", - "jack = 11 \n", - "queen = 12 \n", - "king = 13\n", - "ace = 14\n", - "\n", - "\n", - "class card: \n", - " \n", - " def __init__(self,n=None,s=None): #constructor\n", - " self.__number = n #2 to 10, jack, queen, king, ace\n", - " self.__suit = s #clubs, diamonds, hearts, spades\n", - " \n", - " def display(self): #display the cards\n", - " \n", - " if self.__number >= 2 and self.__number<=10:\n", - " print self.__number , 'of',\n", - " \n", - " else:\n", - " if self.__number == jack:\n", - " print 'jack of',\n", - " elif self.__number == queen:\n", - " print 'queen of',\n", - " elif self.__number == king:\n", - " print 'king of',\n", - " else:\n", - " print 'ace of',\n", - " \n", - " if self.__suit == clubs:\n", - " print 'clubs'\n", - " elif self.__suit == diamonds:\n", - " print 'diamonds'\n", - " elif self.__suit == hearts:\n", - " print 'hearts'\n", - " else:\n", - " print 'spades'\n", - " \n", - " def isEqual(self,c2): #return 1 if cards equal\n", - " \n", - " if self.__number == c2.__number and self.__suit == c2.__suit:\n", - " return 1\n", - " else:\n", - " return 0\n", - "\n", - "\n", - "#define various cards\n", - "temp = card()\n", - "chosen = card()\n", - "prize = card()\n", - "\n", - "\n", - "#define and initialize card1\n", - "card1 = card(7,clubs)\n", - "print 'card 1 is the',\n", - "card1.display() #display card1\n", - "\n", - "#define and initialize card2\n", - "card2 = card(jack,hearts)\n", - "print 'card 2 is the',\n", - "card2.display() #display card2\n", - "\n", - "#define and initialize card3\n", - "card3 = card(ace,spades)\n", - "print 'card 3 is the',\n", - "card3.display() #display card3\n", - "\n", - "\n", - "#prize is the card to guess\n", - "prize = card3\n", - "\n", - "\n", - "#swapping cards\n", - "print 'I\\'m swapping card 1 and card 3'\n", - "temp = card3\n", - "card3 = card1\n", - "card1 = temp\n", - "\n", - "print 'I\\'m swapping card 2 and card 3'\n", - "temp = card2\n", - "card3 = card2\n", - "card2 = temp\n", - "\n", - "print 'I\\'m swapping card 1 and card 2'\n", - "temp = card2\n", - "card2 = card1\n", - "card1 = temp\n", - "\n", - "print 'Now, where (1,2, or 3) is the',\n", - "prize.display() #display prize\n", - "print '?'\n", - "\n", - "position = input() #get user's guess of position\n", - "\n", - "\n", - "#set chosen to user's choice \n", - "if position == 1:\n", - " chosen = card1\n", - "elif position == 2:\n", - " chosen = card2\n", - "else:\n", - " chosen = card3\n", - "\n", - "#is chosen card the prize?\n", - "\n", - "x=chosen.isEqual(prize)\n", - "\n", - "if x==1:\n", - " print 'That\\'s right! You win!'\n", - "else:\n", - " print 'Sorry. You lose.'\n", - "\n", - "print 'You choose the',\n", - "\n", - "#display chosen card\n", - "chosen.display()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "card 1 is the 7 of clubs\n", - "card 2 is the jack of hearts\n", - "card 3 is the ace of spades\n", - "I'm swapping card 1 and card 3\n", - "I'm swapping card 2 and card 3\n", - "I'm swapping card 1 and card 2\n", - "Now, where (1,2, or 3) is the ace of spades\n", - "?\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "2\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "That's right! You win!\n", - "You choose the ace of spades\n" - ] - } - ], - "prompt_number": 1 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.11, Page Number: 249" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class foo: \n", - " \n", - " __count = 0 #only one data item for all objects\n", - " \n", - " def __init__(self):\n", - " foo.__count = foo.__count + 1 #increment count when object created\n", - " \n", - " def getcount(self): #returns count\n", - " return foo.__count\n", - "\n", - "#create three objecs\n", - "f1 = foo()\n", - "f2 = foo()\n", - "f3 = foo()\n", - "\n", - "#Each object displays the same count value\n", - "print 'count is', f1.getcount()\n", - "print 'count is', f2.getcount()\n", - "print 'count is', f3.getcount()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "count is 3\n", - "count is 3\n", - "count is 3\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.12, Page Number: 253" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class Distance: #Distance class\n", - " \n", - " def __init__(self,ft=0,inc=0.0): #constructor \n", - " self.__feet = ft\n", - " self.__inches = inc\n", - " \n", - " def getdist(self): #get length from user\n", - " self.__feet = input('Enter feet:')\n", - " self.__inches = input('Enter inches:')\n", - " \n", - " def showdist(self): #display distance\n", - " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", - "\n", - "#There's no const keyword \n", - " \n", - " def add_dist(self,d2): #add this length to d2 and return object\n", - " \n", - " temp = Distance()\n", - " temp.__inches = self.__inches + d2.__inches\n", - " \n", - " if temp.__inches >= 12.0:\n", - " temp.__inches = temp.__inches - 12.0\n", - " temp.__feet = 1\n", - " \n", - " temp.__feet = temp.__feet + self.__feet + d2.__feet\n", - " \n", - " return temp #return sum as object\n", - " \n", - "dist1 = Distance()\n", - "dist3 = Distance()\n", - "dist2 = Distance(11,6.25)\n", - "\n", - "dist1.getdist()\n", - "\n", - "dist3 = dist1.add_dist(dist2)\n", - "\n", - "print 'dist1 = ',\n", - "dist1.showdist()\n", - "print 'dist2 = ',\n", - "dist2.showdist()\n", - "print 'dist3 = ',\n", - "dist3.showdist()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter feet:17\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "stream": "stdout", - "text": [ - "Enter inches:5.75\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "dist1 = 17 ' - 5.75 \"\n", - "dist2 = 11 ' - 6.25 \"\n", - "dist3 = 29 ' - 0.0 \"\n" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "heading", - "level": 2, - "metadata": {}, - "source": [ - "Example 6.13, Page Number: 255" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class Distance:\n", - " \n", - " def __init__(self,ft,inc):\n", - " self.__feet = ft\n", - " self.__inches = inc\n", - " \n", - " def getdist(self):\n", - " self.__feet = input('Enter feet:')\n", - " self.__inches = input('Enter inches:')\n", - " \n", - " def showdist(self):\n", - " print self.__feet , '\\' -' , self.__inches , '\\\"'\n", - "\n", - "football = Distance(300,0)\n", - "\n", - "print 'football = ',\n", - "football.showdist()\n", - "\n", - "#There's no const keyword in python" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "football = 300 ' - 0 \"\n" - ] - } - ], - "prompt_number": 11 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [] - } - ], - "metadata": {} - } - ] -} \ No newline at end of file -- cgit