From 206d0358703aa05d5d7315900fe1d054c2817ddc Mon Sep 17 00:00:00 2001 From: Jovina Dsouza Date: Wed, 18 Jun 2014 12:43:07 +0530 Subject: adding book --- Beginning_C_By_Ivon_Horton/chapter3.ipynb | 706 ++++++++++++++++++++++++++++++ 1 file changed, 706 insertions(+) create mode 100644 Beginning_C_By_Ivon_Horton/chapter3.ipynb (limited to 'Beginning_C_By_Ivon_Horton/chapter3.ipynb') diff --git a/Beginning_C_By_Ivon_Horton/chapter3.ipynb b/Beginning_C_By_Ivon_Horton/chapter3.ipynb new file mode 100644 index 00000000..49245eb1 --- /dev/null +++ b/Beginning_C_By_Ivon_Horton/chapter3.ipynb @@ -0,0 +1,706 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 3: Making Decisions" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.1, page no. 88" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "A simple example of the if statement\n", + "\"\"\"\n", + "\n", + "number = 0;\n", + "print \"\\nEnter an integer between 1 and 10: \",\n", + "number = int(raw_input())\n", + " \n", + "if(number > 5):\n", + " print \"You entered %d which is greater than 5\\n\" % number\n", + "if(number < 6):\n", + " print \"You entered %d which is less than 6\\n\" % number" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Enter an integer between 1 and 10: " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "6\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " You entered 6 which is greater than 5\n", + "\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.2, page no. 91" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Using if statements to decide on a discount\n", + "\"\"\"\n", + "\n", + "unit_price = 3.50\n", + "print \"Enter the number that you want to buy: \", \n", + "quantity = int(raw_input())\n", + "if(quantity > 10):\n", + " total = quantity*unit_price*0.95 # 5% discount\n", + " print \"The price for %d is $%.2f\\n\" % (quantity, total)\n", + "else:\n", + " total = quantity*unit_price #no discount\n", + " print \"The price for %d is $%.2f\\n\" % (quantity, total)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter the number that you want to buy: " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "20\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The price for 20 is $66.50\n", + "\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.3, page no. 95" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Using nested ifs to analyze numbers\n", + "note: no need of LONG_MAX as there is no limit in python for an integer value\n", + "\"\"\"\n", + "\n", + "test = 0.0\n", + "print \"Enter an integer: \",\n", + "test = int(raw_input())\n", + " \n", + "if(test % 2 == 0):\n", + " print \"The number %ld is even\" %test\n", + "if((test/2) % 2 == 0):\n", + " print \"Half of %d is also even\" %test\n", + " print \"That's interesting isn't it?\"\n", + "else:\n", + " print \"The number %d is odd\\n\" %test" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter an integer: " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "20\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The number 20 is even\n", + "Half of 20 is also even\n", + "That's interesting isn't it?\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.4, page no. 98" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Converting uppercase to lowercase\n", + "\"\"\"\n", + "\n", + "print \"Enter an uppercase letter:\",\n", + "letter = raw_input()\n", + "if(ord(letter) >= ord('A')):\n", + " if(ord(letter) <= ord('Z')):\n", + " letter = chr( ord(letter) - ord('A') + ord('a'))\n", + " print \"You entered an uppercase %c\" %letter\n", + " else:\n", + " print \"Try using the shift key! I want a capital letter.\\n\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter an uppercase letter:" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "G\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " You entered an uppercase g\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.5, page no. 103" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Testing letters an easier way\n", + "\"\"\"\n", + "\n", + "print \"Enter an uppercase letter:\",\n", + "letter = raw_input()\n", + "if( (ord(letter) >= ord('A')) and (ord(letter) <= ord('Z')) ):\n", + " letter = chr( ord(letter) - ord('A') + ord('a'))\n", + " print \"You entered an uppercase %c\" %letter\n", + "else:\n", + " print \"You did not enter an uppercase letter.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter an uppercase letter:" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "j\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " You did not enter an uppercase letter.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.6, page no. 105" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Multiple Discount Levels\n", + "\"\"\"\n", + "\n", + "unit_price = 3.50\n", + "discount1 = 0.05\n", + "discount2 = 0.1\n", + "discount3 = 0.15\n", + "total_price = 0.0\n", + " \n", + "print \"Enter the number that you want to buy:\",\n", + "quantity = int(raw_input())\n", + " \n", + "if(quantity >50):\n", + " total_price = quantity*unit_price*(1.0-discount3)\n", + "elif(quantity > 20):\n", + " total_price = quantity*unit_price*(1.0-discount2)\n", + "elif(quantity > 10):\n", + " total_price = quantity*unit_price*(1.0-discount1)\n", + "else:\n", + " total_price = quantity*unit_price*(1.0-0.0)\n", + "print \"The price for %d is $%.2f\\n\" %(quantity, total_price)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter the number that you want to buy:" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "60\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " The price for 60 is $178.50\n", + "\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.7, page no. 109" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "A confused recruiting policy \n", + "\"\"\"\n", + "\n", + "age = 0\n", + "college = 0\n", + "subject = 0\n", + "interview = False # true for accept, false for reject\n", + "\n", + "print \"What college? 1 for Harvard, 2 for Yale, 3 for other: \",\n", + "college = int(raw_input())\n", + "print \"What subject? 1 for Chemistry, 2 for economics, 3 for other: \",\n", + "subject = int(raw_input())\n", + "print \"How old is the applicant? \",\n", + "age = int(raw_input())\n", + " \n", + "if( (age>25 and subject==1) and (college==3 or college == 1) ):\n", + " interview = True\n", + "if(college == 2 and subject == 1):\n", + " interview = True\n", + "if(college == 1 and subject == 2 and not(age > 28)):\n", + " interview = True\n", + "if(college == 2 and (subject == 2 or subject == 3) and age > 25):\n", + " interview = True\n", + " \n", + "if(interview):\n", + " print \"Give 'em an interview\"\n", + "else:\n", + " print \"Reject 'em\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "What college? 1 for Harvard, 2 for Yale, 3 for other: " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "2\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " What subject? 1 for Chemistry, 2 for economics, 3 for other: " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "1\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " How old is the applicant? " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "24\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Give 'em an interview\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.8, page no. 117" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Lucky Lotteries\n", + "note: there is no switch statement in Python\n", + "\"\"\"\n", + "\n", + "print \"Pick a number between 1 and 10 and you may win a prize! \",\n", + "choice = int(raw_input())\n", + "if((choice > 10) or (choice < 1)):\n", + " choice = 11\n", + "if choice == 7:\n", + " print \"Congratulations!\"\n", + " print \"You win the collected works of Amos Gruntfuttock.\"\n", + "elif choice == 2:\n", + " print \"You win the folding thermometer-pen-watch-umbrella.\"\n", + "elif choice == 8:\n", + " print \"You win the lifetime supply of aspirin tablets.\"\n", + "elif choice == 11:\n", + " print \"Try between 1 and 10. You wasted your guess.\",\n", + "else:\n", + " print \"Sorry, you lose.\\n\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Pick a number between 1 and 10 and you may win a prize! " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "7\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " Congratulations!\n", + "You win the collected works of Amos Gruntfuttock.\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.9, page no. 119" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Testing cases\n", + "\"\"\"\n", + "\n", + "print \"Enter Y or N: \",\n", + "answer = raw_input()\n", + "\n", + "if answer =='y' or answer == 'Y':\n", + " print \"You responded in the affirmative.\"\n", + "elif answer == 'n' or answer == 'N':\n", + " print \"You responded in the negative.\"\n", + "else:\n", + " print \"You did not respond correctly. . .\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter Y or N: " + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "y\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " You responded in the affirmative.\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 3.10, page no. 128" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "Excercising bitwise operator\n", + "\"\"\"\n", + "\n", + "original = 0xABC\n", + "result = 0\n", + "mask = 0xF\n", + "\n", + "print \"original = %X\" % original\n", + "result |= original & mask\n", + " \n", + "original = original >> 4\n", + "result = result << 4\n", + "result |= original&mask\n", + " \n", + "original = original >> 4\n", + "result = result << 4\n", + "result |= original & mask\n", + "print \"result = %X\" % result" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "original = ABC\n", + "result = CBA\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + " Program 3.11, page no. 132" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "\"\"\"\n", + "A calculator\n", + "\"\"\"\n", + "\n", + "print \"Enter the calculation\\n\",\n", + "number1 = float(raw_input(\"Enter first number: \"))\n", + "number2 = float(raw_input(\"Enter second number: \"))\n", + "operation = raw_input(\"Enter operation '+' or '-' or '/' or '%' or '*': \")\n", + " \n", + "if operation == '+':\n", + " print \"= %f\" %(number1 + number2)\n", + "elif operation == '-':\n", + " print \"= %f\" %(number1 - number2)\n", + "elif operation == '*':\n", + " print \"= %f\" %(number1 * number2);\n", + "elif operation == '/':\n", + " if(number2 == 0):\n", + " print \"Division by zero error!\"\n", + " else:\n", + " print \"= %f\\n\" %(number1 / number2)\n", + "elif operation == '%':\n", + " if(number2 == 0):\n", + " print \"Division by zero error!\"\n", + " else:\n", + " print \"= %f\\n\" %(number1 % number2)\n", + "else:\n", + " print \"Illegal operation!\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter the calculation\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter first number: 25\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter second number: 24\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter operation '+' or '-' or '/' or '%' or '*': *\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "= 600.000000\n" + ] + } + ], + "prompt_number": 13 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file -- cgit