summaryrefslogtreecommitdiff
path: root/Beginning_C_By_Ivon_Horton/chapter3.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Beginning_C_By_Ivon_Horton/chapter3.ipynb')
-rw-r--r--Beginning_C_By_Ivon_Horton/chapter3.ipynb706
1 files changed, 706 insertions, 0 deletions
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