"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Macros for logical operators\n",
"\n",
"import sys\n",
"\n",
"#Macro definitions\n",
"#in python, function definitions are used as macros\n",
"\n",
"#There is no preprocessors in python\n",
"\n",
"#Variable Initialization\n",
"a = int(raw_input(\"Enter Three Numbers : \"))\n",
"b = int(raw_input(\"Enter Three Numbers : \"))\n",
"c = int(raw_input(\"Enter Three Numbers : \"))\n",
"\n",
"if a > b and a > c:\n",
" sys.stdout.write(\"%d is the larger number\"%(a))\n",
"else:\n",
" if b > a and b > c:\n",
" sys.stdout.write(\"%d is the larger number\"%(b))\n",
" else:\n",
" if c > a and c > b:\n",
" sys.stdout.write(\"%d is the larger number\"%(c))\n",
" else:\n",
" if a == b and b == c:\n",
" sys.stdout.write(\"\\nNumbers are same.\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter Three Numbers : 5\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter Three Numbers : 4\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter Three Numbers : 7\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"7 is the larger number"
]
}
],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.4, Page number: 388
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Identifier for displaying double and triple of a number.\n",
"\n",
"#Macro definitions\n",
"#Function definitions are used as macros in python\n",
"\n",
"def DOUBLE(a):\n",
" return a*2\n",
"\n",
"def TRIPLE(a):\n",
" return a*3\n",
"\n",
"#Variable initialization\n",
"a = 1\n",
"\n",
"#Result\n",
"sys.stdout.write(\"\\nSINGLE\\tDOUBLE\\tTRIPLE\")\n",
"\n",
"for a in range(1,5+1):\n",
" sys.stdout.write(\"\\n%d\\t%d\\t%d\"%(a,DOUBLE(a),TRIPLE(a)))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"SINGLE\tDOUBLE\tTRIPLE\n",
"1\t2\t3\n",
"2\t4\t6\n",
"3\t6\t9\n",
"4\t8\t12\n",
"5\t10\t15"
]
}
],
"prompt_number": 13
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Stringizing operation and macro arguments\n",
"\n",
"#There is no macro in python, function definitions can be used as macros\n",
"\n",
"def DOUBLE(x):\n",
" sys.stdout.write(\"Double of m = %d\\n\"%(x*2))\n",
" \n",
"def TRIPLE(x):\n",
" sys.stdout.write(\"Triple of m = %d\\n\"%(x*3))\n",
" \n",
"#Variable Initialization\n",
"m = int(raw_input(\"Enter a number : \"))\n",
"\n",
"#Function call & Result\n",
"DOUBLE(m)\n",
"TRIPLE(m)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter a number : 5\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Double of m = 10\n",
"Triple of m = 15\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.8, Page number: 390
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Larger of two numbers using macro with arguments.\n",
"\n",
"import sys\n",
"\n",
"#Macro definition //function definition itself is used as macro\n",
"def MAX(x,y):\n",
" if x > y:\n",
" c = x\n",
" else:\n",
" c = y\n",
" return c\n",
"\n",
"#Variable Initialization\n",
"x = 5\n",
"y = 8\n",
"\n",
"#Function call\n",
"c = MAX(x,y)\n",
"\n",
"#Result\n",
"sys.stdout.write(\"\\nLarger of two numbers = %d\"%(c))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Larger of two numbers = 8"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.9, Page number: 391
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Function defined in \"udf.c\" file.\n",
"\n",
"import sys\n",
"#since ipython notebook does not support this function, function is used\n",
"#in python, the udf.c file can be written and saved in udf.py and import command\n",
"#can be used to include that file in this program\n",
"\n",
"def display():\n",
" sys.stdout.write(\"\\nFunction Called\")\n",
" \n",
"#Function call\n",
"display()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Function Called"
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.10, Page number: 392
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Conditional compilation \n",
"\n",
"import sys\n",
"\n",
"#There is no preprocessor directives in python\n",
"\n",
"LINE = 1\n",
"\n",
"if LINE:\n",
" sys.stdout.write(\"This is line number one\")\n",
"else:\n",
" sys.stdout.write(\"This is line number two\")\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"This is line number one"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.11, Page number: 393
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Conditional compilation \n",
"import sys\n",
"\n",
"#There is no preprocessor directives in python\n",
"def E():\n",
" return 1\n",
"\n",
"#Function call\n",
"if E():\n",
" a = 2\n",
" b = 3\n",
" sys.stdout.write(\"A = %d & B = %d\"%(a,b))\n",
"else:\n",
" c = 2\n",
" d = 3\n",
" sys.stdout.write(\"C = %d & D = %d\"%(c,d))\n",
" "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"A = 2 & B = 3"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.12, Page number: 394
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Conditional compilation directives \n",
"\n",
"import sys\n",
"\n",
"#There is no preprocessor directives in python\n",
"T = 8\n",
"\n",
"#Result\n",
"if T == 0:\n",
" sys.stdout.write(\"\\nMacro is not defined.\")\n",
"else:\n",
" sys.stdout.write(\"\\nMacro is defined\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Macro is defined"
]
}
],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.13, Page number: 394
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#User defined error message \n",
"\n",
"import sys\n",
"\n",
"#There is no preprocessor directives in python\n",
"B = 1\n",
"A = 0\n",
"\n",
"#Result\n",
"if A == 0:\n",
" sys.stdout.write(\"MACRO A IS NOT DEFINED.\")\n",
"else:\n",
" sys.stdout.write(\"Macro found.\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"MACRO A IS NOT DEFINED."
]
}
],
"prompt_number": 14
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 12.14, Page number: 397
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"#Set off certain errors \n",
"\n",
"import sys\n",
"\n",
"#There is no preprocessor directives in python\n",
"x = 2\n",
"y = 1\n",
"\n",
"#Result\n",
"sys.stdout.write(\"\\ny = %d\"%(y))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"y = 1"
]
}
],
"prompt_number": 15
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"