{ "metadata": { "name": "ch2" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Chapter 2: Fundamental Types" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.1, page no. 17" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "flag=False\n", "print \"flag = %r\" % flag\n", "flag = True\n", "print \"flag = %r\" % flag" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "flag = False\n", "flag = True\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.2, page no. 19" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "c='A'\n", "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n", "c='t'\n", "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n", "c='\\t' # the tab character\n", "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n", "c='!'\n", "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "c = A, int(c) = 65\n", "c = t, int(c) = 116\n", "c = \t, int(c) = 9\n", "c = !, int(c) = 33\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.3, page no. 19" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import sys\n", "# defines the constants SHRT_MIN, etc.\n", "print 'maximum limit int : ',\n", "print sys.maxint\n", "print 'float info'\n", "print sys.float_info" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "maximum limit int : 2147483647\n", "float info\n", "sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.4, page no. 21" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "m=54\n", "n=20\n", "print \"m = %d and n = %d\" %(m,n)\n", "print \"m+n = %d\" % (m+n) # 54+20 = 74\n", "print \"m-n = %d\" % (m-n) # 54-20 = 34\n", "print \"m*n = %d\" % (m*n)# 54*20 = 1080\n", "print \"m/n = %d\" % (m/n) # 54/20 = 2\n", "print \"m modulo by n = %d\" % (m%n) # 54%20 = 14" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "m = 54 and n = 20\n", "m+n = 74\n", "m-n = 34\n", "m*n = 1080\n", "m/n = 2\n", "m modulo by n = 14\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.5, page no. 21" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "m = 44\n", "m += 1\n", "n = m\n", "print \"m = %d , n = %d\" %(m,n)\n", "m = 44\n", "n = m # the post-increment operator is applied to m\n", "m += 1\n", "print \"m = %d , n = %d\" %(m,n)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "m = 45 , n = 45\n", "m = 45 , n = 44\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.6, page no. 22" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "n=22\n", "print \"n = %d\" % n\n", "n += 9 # adds 9 to n\n", "print \"After n += 9, n = %d\" % n\n", "n -= 5 # subtracts 5 from n\n", "print \"After n -= 5, n = %d\" % n\n", "n *= 2 # multiplies n by 3\n", "print \"After n *= 2, n = %d\" % n \n", "n /= 3 # divides n by 9\n", "print \"After n /= 3, n = %d\" % n \n", "n %= 7 # reduces n to the remainder from dividing by 4\n", "print 'After n modulo by 7 n = %d' %n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "n = 22\n", "After n += 9, n = 31\n", "After n -= 5, n = 26\n", "After n *= 2, n = 52\n", "After n /= 3, n = 17\n", "After n modulo by 7 n = 3\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.7, page no. 23" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "x=54.0\n", "y=20.0\n", "print \"x = %f and y = %f\" %(x,y)\n", "print \"x+y = %f\" %(x+y) # 54.0+20.0 = 74.0\n", "print \"x-y = %f\" % (x-y) # 54.0-20.0 = 34.0\n", "print \"x*y = %f\" %( x*y) # 54.0*20.0 = 1080.0\n", "print \"x/y = %f\" % (x/y) # 54.0/20.0 = 2.7\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "x = 54.000000 and y = 20.000000\n", "x+y = 74.000000\n", "x-y = 34.000000\n", "x*y = 1080.000000\n", "x/y = 2.700000\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.8, page no. 23s" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import sys\n", "\n", "print \"Number of bytes used:\\n\"\n", "\n", "print \" char: %d \" % sys.getsizeof('a')\n", "print \" int : %d \" % sys.getsizeof(int(1))\n", "print \" string : %d \" % sys.getsizeof(str('hellololdei'))\n", "print \"float : %d\" % sys.getsizeof(float(1.1))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Number of bytes used:\n", "\n", " char: 22 \n", " int : 12 \n", " string : 32 \n", "float : 16\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.9, page no. 24" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import sys\n", "\n", "fbits = 8*sys.getsizeof(float(123))\n", "\n", "# each byte contains 8 bits\n", "print \"float uses : %d bits:\\n\\t\" % fbits " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "float uses : 128 bits:\n", "\t\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.10, page no. 25" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "v = 1234.56789\n", "n = int(v);\n", "print \"v = %f, n = %d\" %(v,n)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "v = 1234.567890, n = 1234\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.11, page no. 26" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "c='A'\n", "print \"char c = \" + c\n", "k=c;\n", "print \"k = \" + k \n", "m=k;\n", "print \"m = \" + m \n", "n=m\n", "print \"n = \" + n\n", "x=m\n", "print \"x = \" + x \n", "y=x\n", "print \"y = \" + y" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "char c = A\n", "k = A\n", "m = A\n", "n = A\n", "x = A\n", "y = A\n" ] } ], "prompt_number": 11 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.12, page no. 27" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "n=1000\n", "print \"n = %d\" % n\n", "n *= 1000 # multiplies n by 1000\n", "print \"n = %d\" % n\n", "n *= 1000 # multiplies n by 1000\n", "print \"n = %d\" % n\n", "n *= 1000 # multiplies n by 1000\n", "print \"n = %d\" % n\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "n = 1000\n", "n = 1000000\n", "n = 1000000000\n", "n = 1000000000000\n" ] } ], "prompt_number": 12 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.13, page no. 27" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "x=1000.0\n", "print \"x = %f\" % x\n", "x *= x # multiplies n by itself; i.e., it squares x\n", "print \"x = %f\" % x\n", "x *= x # multiplies n by itself; i.e., it squares x\n", "print \"x = %f\" % x\n", "x *= x # multiplies n by itself; i.e., it squares x\n", "print \"x = %f\" % x\n", "x *= x # multiplies n by itself; i.e., it squares x\n", "print \"x = %f\" % x\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "x = 1000.000000\n", "x = 1000000.000000\n", "x = 1000000000000.000000\n", "x = 999999999999999983222784.000000\n", "x = 1000000000000000043845843045076197354634047651840.000000\n" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.14, page no. 28" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "\n", "x = 1000/3.0\n", "print \"x = %f\" %x # x = 1000/3\n", "y = x - 333.0\n", "print \"y = %f\" % y # y = 1/3\n", "z = 3*y - 1.0\n", "print \"z = %f\" %z # z = 3(1/3) - 1\n", "if (z == 0):\n", " print \"z == 0.\\n\"\n", "else:\n", " print \"z does not equal 0.\\n\" # z != 0\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "x = 333.333333\n", "y = 0.333333\n", "z = -0.000000\n", "z does not equal 0.\n", "\n" ] } ], "prompt_number": 14 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.15, page no. 28" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math\n", "\n", "\n", "a = float(raw_input(\"Enter the coefficients of a quadratic equation:\\n a : \"))\n", "b = float(raw_input('b : '))\n", "c = float(raw_input('c : '))\n", "\n", "print \"The equation is: \",\n", "print a,\n", "print \"*x*x + \",\n", "print b,\n", "print \"*x + \" ,\n", "print c,\n", "print \" = 0\" \n", "\n", "d = b*b - 4*a*c # discriminant\n", "sqrtd = math.sqrt(d)\n", "x1 = (-b + sqrtd)/(2*a)\n", "x2 = (-b - sqrtd)/(2*a)\n", "print \"The solutions are:\"\n", "print \"\\tx1 = %f\" % x1\n", "print \"\\tx2 = %f\" % x2\n", "print \"Check:\" \n", "print \"\\ta*x1*x1 + b*x1 + c = %f\" %( a*x1*x1 + b*x1 + c)\n", "print \"\\ta*x2*x2 + b*x2 + c = %f\" %( a*x2*x2 + b*x2 + c)\n" ], "language": "python", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter the coefficients of a quadratic equation:\n", " a : 2\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "b : 1\n" ] }, { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "c : -3\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "The equation is: 2.0 *x*x + 1.0 *x + -3.0 = 0\n", "The solutions are:\n", "\tx1 = 1.000000\n", "\tx2 = -1.500000\n", "Check:\n", "\ta*x1*x1 + b*x1 + c = 0.000000\n", "\ta*x2*x2 + b*x2 + c = 0.000000\n" ] } ], "prompt_number": 15 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.17, page no. 31" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "x = float(raw_input(\"Enter float: \"))\n", "print \"Its reciprocal is: \",\n", "print 1/x " ], "language": "python", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "stream": "stdout", "text": [ "Enter float: 234.567e89\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "Its reciprocal is: 4.2631742743e-92\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.18, page no. 31" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "x = 11\n", "# ERROR: this is not in the scope of x\n", "if True:\n", " x = 22 # OK: this is in the scope of x\n", " y = 33 # ERROR: this is not in the scope of y\n", " x = 44 # OK: this is in the scope of x\n", " y = 55 # OK: this is in the scope of y\n", "x = 66 # OK: this is in the scope of x\n", "y = 77 # ERROR: this is not in the scope of y\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 2.19, page no. 32" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# this x is global\n", "x = 11\n", "\n", "if True:\n", " # illustrates the nested and parallel scopes:\n", " x = 22\n", " # begin scope of internal block\n", " if True:\n", " x = 33\n", " print \"In block inside main(): x = %d \" % x\n", " # end scope of internal block\n", "print \"In main(): x = %d\" %x \n", "print \"In main(): x = %d \"% x" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "In block inside main(): x = 33 \n", "In main(): x = 33\n", "In main(): x = 33 \n" ] } ], "prompt_number": 18 } ], "metadata": {} } ] }