22CB923 Unit 1
22CB923 Unit 1
proceeding:
This document is confidential and intended solely for the
educational purpose of RMK Group of Educational Institutions. If
you have received this document through email in error, please
notify the system manager. This document contains proprietary
information and is intended only to the respective group / learning
community as intended. If you are not the addressee you should
not disseminate, distribute or copy through e-mail. Please
notify the sender immediately by e-mail if you have received this
document by mistake and delete this document from your system.
If you are not the intended recipient you are notified that
disclosing, copying, distributing or taking any action in reliance on
the contents of this information is strictly prohibited.
22CB923 Python
Programming
Department : CSBS
Batch/Year : 2023 – 27 BATCH / III
Created by : Mr. B.Jayaram ASP/CSBS RMKE C
&
Ms. K.Sasirekha AP/CSBS
RMDEC
Date
: 06.05.25
Table of Contents
S NO CONTENTS PAGE NO
1 Contents 5
2 Course Objectives 6
7 Lecture Plan 11
9 Lecture Notes 14
10 Assignments 71
11 Part A (Q & A) 72
12 Part B Qs 82
16 Assessment Schedule 87
PREREQUISIT
E
List of Exercise/Experiments
a) Compute the GCD of two numbers.
b) Find the square root of a number (Newton’s method)
c) First n prime numbers
List of Exercise/Experiments
String manipulation
a) Get a string from a given string where all occurrences of its first char
have been changed to '$', except the first char itself
b) Python function that takes a list of words and returns the length of
the longest one.
c) Python program to remove the characters which have odd index
values of a given string
d) Python program to count the occurrences of each word in a given
sentence.
e) Python program that accepts a comma separated sequence of words
as input and prints the unique words in sorted form
f) Python function to reverses a string if it's length is a multiple of 4
a) Operations on Tuples:
a) finding repeated elements
b) slice a tuple
c) reverse a tuple
d) replace last value of a tuple
b) List operations
a) Find the maximum of a list of numbers
b) Python program to remove duplicates from a list.
c) Python program to get the smallest number from a list.
d) Python program to print a specified list after removing the 0th, 4th
and 5th elements.
e) Python program to print the numbers of a specified list after
removing even numbers from it.
f) Python program to find the second smallest number in a list.
c) Linear search and Binary search
d) Selection sort, Insertion sort
e) Merge sort
f) Multiply matrices
List of Exercise/Experiments
Programs that take command line arguments (word count)
Find the most frequent words in a text read from a file
TEXTBOOKS:
REFERENCES:
LIST OF EQUIPMENTS:
PO PO PO PO PO PO PO PO PO PO PO PO PS PS PS
1 2 3 4 5 6 7 8 9 10 11 12 O1 O2 O3
CO1 3 2 1 1 3 3 3 3 3
CO2 3 3 2 2 3 3 3 3 3
CO3 2 1 2 3 3 3
CO4 3 2 1 1 3 3 3 3 3
CO5 3 3 2 2 3 3 3 3 3
CO6 3 2 1 1 3 3 2 2 2
9
Lecture
Plan
UNIT – I
of delivery
Actual lecture Date
S No Topics
Taxonomy level
Proposed date
pertaining CO
of
Periods
Mode
No
Introduction to Python
programming 1
1 CO1 K1 PPT
Arithmetic Operators
statements
6 1 CO1 K2 PPT / Video
Functions
1
7 K2 PPT
CO1
9 Iteration
1 CO1 K3 PPT
Activity based
learning (Model
building/Prototype)
S NO TOPICS
Arithmetic Operators
Activity:
1 Build a simple calculator that performs addition, subtraction, multiplication,
division, modulus, and exponentiation based on user input.
Activity:
2 Create a script that takes multiple inputs (string, int, float, boolean) and prints
their types using type() function.
Python Features
Easy to learn
Portable
Interpreted
Extensible
Free and Open Source
High Level Language
Scalable
Easy to understand and write.
Interactive programming language.
Used in various application areas such as Web, Gaming, Scientific and
Numeric computing, Text processing and Network programming.
Free and Open Source.
Advantages:
Second, high-level languages are portable, meaning that they can run on
different kinds of computers with few or no modifications
Difference between Interpreter and
Compiler Compiler
• Compiler takes the entire program as input
• Object code is generated
• It occupies more memory
• Program compiled only once
• It displays the error after compiling the
entire program.
Interpreter
• Interpreter reads the program line by line
• There is no intermediate object code
• It occupies less memory
• Program interpreted line by line.
• It displays the error immediately.
Interactive mode
Script Mode
Interactive mode
Interactive mode is used when user wants to run one single line or block of
code and get
the result immediately.
The commands are typed and executed in python interpreter. It runs very
quickly and
gives the output instantly.
We can’t save the code immediately.
To exit this mode type exit() and press Enter.
Example
>>>a=10
>>>b=20
>>>c=a+b
>>>print(c)
>>>30
Script Mode
Script mode
To access the Script mode or python shell, open the terminal and type
“python”
then press Enter key and the python shell will appear.
This mode is used to execute Python program written in a file.
The python interpreter read and execute the statement in the script
mode.
We can save the code immediately. All the instruction necessary for
the task are stored in a file often called source file,
program, source code or a module.
The saved file must have an extension .py.
We can not see the results immediately.
Script mode looks like this
Example:
Type the following lines in any editor and save as firstprg.py
print(“Hello World!”)
To execute the file firstprg.py in script mode type the following in the
command prompt.
>>>python firstprg.py
Then it will print Hello World! as a Output
2. Values and Types, Variables,
Expressions, Statements
2. Values and Types, Variables, Expressions,
Statements
1. Values and
Types Values
A value is one of the
basic things in a
program.
A value is one of the
basic things a program
work with like letter or a
number.
There are different
values in Python. Values
may be integers, float
and strings.
Whole numbers are
called Integers.
The numbers with a
decimal point belong to
a type called float.
The values written in quotes will be considered as string, even it’s an
integer. If type of value is not known it can be interpreted as
string.
Example
2, 3.5, “Hello”
Types
>>> type(17)
<type 'int'>
>>> type('17')
<type 'str'>
>>> type('3.2')
<type 'str’>
Every value in python has a data type.
The data stored in memory can be of many types.
Python has various data types that are used to define the operations
possible on
them and storage methods of each of them.
2.2. Variables
Variable
A variable is a name that refers to a value.
The name of the variable should be meaningful.
Variables have reserved memory locations to store values.
Based on the data type of a variable, the interpreter allocates memory and
decides what
can be stored in the reserved memory.
Variable declaration
In python variables need not to be declared explicitly.
Assigning values to variables
The equal sign is used to assign values to variables.
Example:
>>> message = 'And now for something completely different’
>>> n = 17
>>> pi = 3.1415926535897931
This example makes three assignments. The first assigns a string to a new
variable named message; the second gives the integer 17 to n; the third
assigns the (approximate) value of π to pi.
Rules
Variable names should start with an alphabet.
There is no space between variable names.
Variables may be the combination of letters and digits and ‘_’.
Variables also have types. The type of the variable belongs to the values
stored in
variable.
Keywords should not be used as variable names.
Keywords
Python has a set of keywords that are reserved words that cannot be used
and def exec if not return assert del finally
as variable names. Python has these keywords :
break elif for in pass while import or try
class else from is print yield continue except global
lambda raise
2.3. Expressions
Expression
An Expression is a combination of values, variables, and operators.
Example: c=a+b
x=m+10
A value or a variable by itself is considered an expression.
Example: c=a
x=10
If you type an expression in interactive mode, the interpreter evaluates it
and displays the result:
Example: >>>1+1
2
2.4. Statements
• Operators are special symbols that perform operations on variables and values.
• Python operators are special symbols used to perform specific operations on
one or more operands.
• The variables, values, or expressions can be used as operands.
• The operators +, -, *, / and ** perform addition, subtraction, multiplication,
division and exponentiation, as in the following
Examples:
20+32 hour-1 hour*60+minute minute/60 5**2 (5+9)*(15-7)
• Operands: Variables, values, or expressions that are used with the operator to
perform a specific operation.
Python Supports
Arithmetic Operators
Assignment Operators
Comparison Operators
Logical Operators
Identity Operators
Membership Operators
Bitwise Operators
3.1.1 Arithmetic Operators
>>5+2
+ Addition x+y
7
>> 5-2
- Subtraction x-y
3
>>
* Multiplication x*y
5*2 10
>>
/ Division x/y
5/2
2.5
>>5%2
% Modulus x%y
1
>>5**
** Exponentiation x ** y
2 25
>>5//
// Floor division x // y
22
a=7
b=2
# addition
# subtraction
# multiplication
# division
# modulo
# a to the power b
Output
Sum: 9
Subtraction: 5
Multiplication: 14
Division: 3.5
Floor Division: 3
Modulo: 1
Power: 49
3.1.2 Assignment Operators
Assignment Operators are used to assign the values to the variables. This
operator is used to assign the value of the right side of the expression to the left
side operand.
= x=5 x=5 5
+= x += 3 x=x+3 8
-= x -= 3 x=x-3 5
*= x *= 3 x=x*3 15
/= x /= 3 x=x/3 5
%= x %= 3 x=x%3 2
|= x |= 3 x=x|3 7
^= x ^= 3 x=x^3 6
Comparison operators are used to compare the values of the variables and return
a boolean result: True or False
.
>>5==5
== Equal x == y
>>1
>>5!=5
!= Not equal x != y
>>0
>>5>2
> Greater than x>y
>>1
>>5<2
< Less than x<y
1
>>5>=3
>= Greater than or equal x >= y
>>1
to
>>5<=3
<= Less than or equal to x <= y
>>0
For Example: a = 5, b = 2
# equal to operator
print('a == b =', a == b)
print('a != b =', a != b)
# greater than operator
Output
a == b = False
a != b = True
a > b = True
a < b = False
a >= b = True
a <= b = False
3.1.4 Logical Operators
Returns True if
or x < 5 or x < 4 >> 1
oneof the
statements is true
Reverse the
not(x < 5 and
not result, returns >>0
x
False if the
< 10)
result is true
3.1.5 Identity Operators
Python IS Operator
The is operator evaluates to True if the variables on either side of the operator
point to the same object in the memory and false otherwise.
The is not operator evaluates True if both variables on the either side of the
operator are not the same object in the memory location otherwise it evaluates
False.
Example:
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
Returns True if a Eg
in sequence with the x in y >>l=[1,2,3]
specified value is >>1 in l
present in the object >> True
Eg
Returns True if a >>l=[1,2,3]
not in sequence with the x not in y >>1 not in l
specified value is not >> false
present in the object
Python IN Operator
The in operator is used to check if a character/substring/element exists in a
sequence or not. Evaluate to True if it finds the specified element in a sequence
otherwise False.
Python NOT IN Operator
The ‘not in’ Python operator evaluates to true if it does not find the variable in
the specified sequence and false otherwise.
Example:
message = 'Hello world'
dict1 = {1:'a', 2:'b'}
# check if 'H' is present in message string
print('H' in message) # prints True
# check if 'hello' is present in message string
print('hello' not in message) # prints True
# check if '1' key is present in dict1
print(1 in dict1) # prints True
# check if 'a' key is present in dict1
print('a' in dict1) # prints False
3.1.7 Bitwise Operators
Zero fill Shift left by pushing zeros in from the right and
<<
left let the leftmost bits fall off
shift
Python Bitwise AND (&) operator takes two equal-length bit patterns as
parameters. The two-bit integers are compared. If the bits in the compared
positions of the bit patterns are 1, then the resulting bit is 1. If not, it is 0.
The Python Bitwise OR (|) Operator takes two equivalent length bit designs as
boundaries; if the two bits in the looked-at position are 0, the next bit is zero.
If not, it is 1.
The Python Bitwise XOR (^) Operator also known as the exclusive OR
operator, is used to perform the XOR operation on two operands. XOR
stands for “exclusive or”, and it returns true if and only if exactly one of the
operands is true. In the context of bitwise operations, it compares
corresponding bits of two operands. If the bits are different, it returns 1;
otherwise, it returns 0.
Python Bitwise Not (~) Operator works with a single value and returns its
one’s complement. This means it toggles all bits in the value, transforming
0 bits to 1 and 1 bits to 0, resulting in the one’s complement of the binary
number.
Example: Take two bit values X and Y, where X = 5= (101)2 . Take Bitwise
NOT of X.
3.1.8 Operator
Precedence
Operators Meaning
() Parentheses
** Exponent
Multiplication, Division,
*, /, //, %
Floor division, Modulus
+, - Addition, Subtraction
^ Bitwise XOR
| Bitwise OR
or Logical OR
4.
Comments
4. Comments
As programs get bigger and more complicated, users get more difficult to
read.
For this reason, it is a good idea to add notes to your programs to
explain in natural language what the program is doing.
These notes are called comments, A comment is a piece of program
text that the interpreter ignores but that provides useful
documentation to programmers.
Two types of comments
1. Single line comment
2. Multi line comment
Function
Example
def add():# function definition
a=5
b=2 c=a +
b print(c)
add() # function
call
Python provides some built-in functions that can be directly used in our program.
These library functions are defined inside the module. And to use them, we must
include the module inside our program.
• Built-in library function: These are Standard functions in Python that are
available to use.
User-Defined Functions
• These are the functions we create ourselves. They're like our custom tools,
designed for specific tasks we have in mind.
• They're not part of Python's standard toolbox, which means we have the
freedom to tailor them exactly to our needs, adding a personal touch to our
code.
• Think of these as Python's pre-packaged gifts. They come built-in with Python,
ready to use.
• They've been tried and tested by the Python community, ensuring efficiency
and reliability.
Python Function Arguments
Types of arguments
1. Default arguments
2. Keyword arguments.
3. Variable length arguments
4. Required arguments
1 Default arguments
.
The arguments can have default values are known as default
arguments
2 Keyword Arguments
When we call a function with values. This values get assigned to the
arguments according to their position.
Here age is in second position and name is in first position. While passing
the arguments according to the name of the arguments. It automatically
assign the values by using their names.
3 Variable length
. arguments
A function for more arguments is called variable length arguments.
Example
def printinfo(arg1,*t):
print(“number of arguments passed”,arg1)
for i in t:
print(i)
printinfo(10)
printinfo(10,20,3
0)
Here the 1st printinfo function gets only one value and 2nd printinfo
function takes three values. So in a single function we can pass more than one
values.This is known as variable length arguments.
4. Required arguments
def area(r):
return pi*r*r
print(area(5))
Recursion:
Recursion is a programming technique that allows the programmer
to express operations in terms of themselves.
It takes the form of a function that calls itself.
A function that calls itself is known as a recursive function. And, this
technique is known as recursion.
The process in which a function calls itself directly or indirectly is
called recursion and the corresponding function is called as recursive
function.
Using recursive algorithm, certain problems can be solved quite
easily. Example of such problem is Towers of Hanoi
In the recursive program, the solution to the base case is
provided and the solution of the bigger problem is expressed in
terms of smaller problems.
Base Case:
This is the condition that stops the recursion. It's crucial to have a
base case to prevent the function from calling itself indefinitely,
which would lead to a stack overflow error.
Recursive Step:
This is where the function calls itself with a modified version of the
original problem. The goal is to reduce the problem size with each
recursive call until it reaches the base case.
def recursive_function(parameters):
if base_case_condition:
return base_result
else:
return recursive_function(modified_parameters)
Example of recursion is calculating the factorial of a number:
def factorial(n):
if n == 0: # Base case: factorial of 0 is 1
return 1
else:
return n * factorial(n-1) # Recursive step
print(factorial(5))
Output
120
In this example, the factorial function calls itself with n-1 until n becomes 0.
When n is 0, the base case is reached, and the function returns 1. The results
of the recursive calls are then multiplied together to calculate the final
factorial.
Recursion can be broadly classified into two types: tail recursion and non-tail
recursion. The main difference between them is related to what happens after
the recursive call.
Tail Recursion: This occurs when the recursive call is the last operation
executed in the function, with no additional work or calculation following
the recursive call. In many programming languages, tail recursion can be
optimized by the compiler into iterative loops to improve performance
and prevent stack overflow.
Non-Tail Recursion: This occurs when there are operations or calculations
that follow the recursive call. This type prevents the compiler or
interpreter from optimizing the recursion into an iteration.
# Base case
if n == 0:
return acc
else:
# Base case
if n == 1:
return 1
else:
return n * nontail_fact(n-1)
# Example usage
print(tail_fact(5))
print(nontail_fact(5))
Output
120
120
Advantages of Recursion
Disadvantages of Recursion
6.2. Conditionals:
Conditional statements give us ability to check conditions and change the
flow of the program or behavior of the program accordingly.
Types of Conditional statements
1. if statement (conditional) 2. if-else statement
3. if-elif-else (alternative)
(chainedconditional) 4. Nested Conditional
6.2.3. if-elif-else
(chainedconditional)
Flow diagram
Example:
m=int(input(“Enter the marks”))
if (m>=91) and (m<=100):
print(“O grade”)
else:
if (m>=81) and (m<=90):
print(“A+ grade”)
else:
if (m>=71) and (m<=80):
print(“A grade”)
else:
if (m>=61) and (m<=70):
print(“B+ grade”)
else:
if (m>=50) and
(m<=60):
print(“B grade”)
6.3 Iteration
ITERATION (Loop):
Iteration allows a statement or a sequence of
statements to be repeatedly executed based on some loop
condition.
There are two types of iterations –
definite iteration – It repeats an action a predefined
number of times
indefinite iteration – It repeats an action until the program
determines that it needs to stop.
Itertion Statements
1. while loop (while and while…else)
2. for loop (for and for…else)
1. while loop
It is entry-controlled loop statement.
Condition is evaluated first, if the condition is true, then body of
loop (set of statements) is executed.
A while loop statement in Python programming language repeatedly
executes a target statement as long as a given condition is true.
Syntax
while expression or
condition: Statements
Flow diagram
Flow diagram
Example
(i) Iterating by Iterating through each
items: item
Example:
for a in
'Hello':
print (a)
(ii)Iterating by Sequence iterating through each item is by index
Index: offset
into the sequence itself
Example:
a = ['banana', 'apple',
'mango'] for i in
range(len(a)):
print (a[i])
Example 2
for i in
range(5):
print(i)
Here, Output:
start_index will take from 0, step value0 is 1incremented
2 3 4
by 1.
Example 3
for i in range(1,5,2):
print(i) Output:
1 3
Here, step_value is 2, so the index is incremented by 2.
Example 4
for i in range(5,1,-1):
print(i) Output: 5 4 3
2 Here, step_value is -1, so the index is
decremented by 1.
1. break statement
break statement will break a particular looping statement.
It terminates the current loop and resumes execution at the next
statement.
If you are using nested loops, the break statement stops the
execution of the innermost loop and start executing the
next line of code after the block.
for i in range(0,5):
Example if(i==2): Output
break 0
else: 1
print
(i)
Flow diagram
Example
for i in range(0,5):
if(i==2): Output
continu 0
e print 1
(i) 3
else:
print (i) 4
Flow Diagram
3.3.3. pass statement
break continue
Recursion vs Iteration
Recursion:
Iteration:
A value is one of the basic things in a programs like a letter or a number. The
values are belonging to different types. For example
>>> type(‘Hello’)
<type ‘str’>
>>> type(17)
<type ‘float’>
2. Define variables.
A variable is a name that refers to a value. They can contain both letters
and numbers but they do not begin with a letter. The underscore ‘_’ can
appear in a name.
Example:
>>> n=176
>>> 5==5
True
>>> 5==6
False
4. Define String
>>> fruit=’banana’
letter Output:
B
5. Define List
List is a sequence of values. The values are characters in a list they can be
of any type. The values in a list are called elements.
Examples
>>> n=[17,35]
>>> n[0]=5
7. Define Expression
An expression is a combination of values , variables and operators. A value
all by itself is considered an expression.
8. Define Tuples
A Tuple is a sequence of values. The values can be of any type, They are
indexed by integers.
>>> t=(‘a’,’b’,’c’)
9. What is the function of slice in tuple?
>>> t[1:3]
>>(‘a’,’b’)
b=6
a,b=b,
print
(a,b)
11. Wh
at
are
diff
ere
nt
Me
mb
ers
hip
Op
era
tor
s
in
pyt
ho
n?
In –
Evalua
tes to
true, if
it finds
a
variabl
e in
the
15. What are the different types of arguments?
1.Function arguments
2.keyword arguments
3.Default arguments
61
Answer:
i=0
while i < 3:
print(i)
i += 1
a=5
if a > 10:
elif a == 5:
print("Equal to 5")
else:
print("Other")
Answer:
Output: Equal to 5
Explanation: The condition a == 5 is True, so the corresponding block runs.
i=0
while i < 3:
print(i)
i += 1
While loop up to 3
Answer: 0 1 2
for i in range(3):
print(i)
range(3) → 0 1 2
Answer: 0 1 2
x = 10
if x % 2 == 0:
print("Even")
else:
print("Odd")
x = 10 → Even
Answer: Even
3 + 4.5
Answer: 7.5
a = 10
b = 20
a, b = b, a
print(a, b)
Swap values
Answer: 20 10
17. What will be the output of the following code?
x=3
y=4
x, y = y, x + y
print(x, y)
Answer:
x = 4, y = 7
Explanation: Tuple unpacking is used. Right-hand side is evaluated first → (4, 7)
a) 3 + 4.5
b) "abc" + 3
c) True * 5
d) 7 // 2
Answer:
b) "abc" + 3 — TypeError: can't concatenate str and int
Answer:
x is of type bool → True
print(3 * "abc")
Answer:
abcabcabc
PART B
1. Define recursion and iteration in Python. Explain how Python internally handles
recursion.
2. Write both recursive and iterative versions of the Fibonacci sequence generator.
3. Write a Python program that accepts two numbers from the user and performs the
following operations:
Addition, Subtraction, Multiplication, Division, Floor Division, Modulus, and
Exponentiation.
Display the result in a formatted table
4. Write a Python program that defines a global variable and modifies it inside a function
using the global keyword. Additionally:
Use a local variable inside the function.
Define another nested function that modifies a non-local variable.
5. Design a program that accepts a user input and performs the following:
If the number is divisible by 3 and 5, print "FizzBuzz".
If divisible by only 3, print "Fizz".
If divisible by only 5, print "Buzz".
Else, print the number.
6. Write two functions to compute the factorial of a number:
One using recursion.
One using iteration (for or while loop).
PART C (GATE QUESTIONS)
1. Write a Python program that takes an integer input from the user and:
Checks if it is a prime number.
Calculates the factorial of the number (using recursion).
If the number is even, prints all numbers from 0 to that number using a for loop.
If the number is odd, prints a countdown using a while loop.
Requirements:
Use functions to separate logic.
Include appropriate conditionals and type-checking.
2.Write a program that simulates a simple calculator with the following functionality:
Ask the user for two values and an operator (+, -, *, /).
Use conditional statements to perform the correct operation.
Handle invalid inputs using type checks and exception handling.
If the result is an integer, print whether it’s even or odd using conditionals.
If the result is float, print its square using a function.
3. Write a Python program that takes an integer input from the user and:
Checks if it is a prime number.
Calculates the factorial of the number (using recursion).
If the number is even, prints all numbers from 0 to that number using a for loop.
If the number is odd, prints a countdown using a while loop.
Requirements:
Use functions to separate logic.
Include appropriate conditionals and type-checking.
4 Programming in https://onlinecourses.swayam2.ac.in/cec22_
Python cs20/preview
Real Time Applications in
Day to Day life and to
Industry
Sl. No. Real Time Application
Web Development:
Python frameworks like Django and Flask are used to build
dynamic websites and web applications, including those
requiring real-time updates and interactions.
Financial Services:
In finance, Python is used for algorithmic trading, risk
management, and fraud detection. Its ability to handle large
datasets and perform complex calculations in real-time makes it
invaluable for financial institutions.
Manufacturing:
Python is employed for predictive maintenance in
manufacturing, where sensor data is analyzed in real-time to
predict equipment failures and minimize downtime.
Healthcare:
Python aids in predicting patient outcomes by analyzing patient
data in real-time, helping hospitals optimize resources and
improve patient care.
Real Time Applications in
Day to Day life and to
Industry
Sl. No. Real Time Application
Retail:
2 Retailers use Python for personalized product recommendations
by analyzing customer purchase histories and behavior in real-
time, enhancing customer experience and boosting sales.
Cybersecurity:
Python is used for real-time threat detection and security
monitoring, helping organizations identify and respond to cyber
threats promptly.
Name of
S.NO Start Date End Date Portion
the
Assessme
nt
1 FIAT 1 & 2 Unit
3 & Unit
2 SIAT
All Units
3 MODEL
75
PRESCRIBED TEXT BOOKS AND REFERENCE
BOOKS
TEXT BOOKS
1. Allen B. Downey, “Think Python: How to Think Like a Computer Scientist”, 2nd edition,
Updated for Python 3, Shroff/O‘Reilly Publishers, 2016
(http://greenteapress.com/wp/thinkpython/)
2. Martin C. Brown, Python: The Complete Reference, Mc-Graw Hill, (Unit 4 – Chapter 5,
Unit 5 – Chapter 7, 17)
REFERENCE BOOKS:
76
MINI PROJECT SUGGESTIONS
Reference: https://www.freecodecamp.org/news/python-projects-for-beginners/
Disclaimer:
This document is confidential and intended solely for the educational purpose of
RMK Group of Educational Institutions. If you have received this document through
email in error, please notify the system manager. This document contains
proprietary information and is intended only to the respective group / learning
community as intended. If you are not the addressee you should not disseminate,
distribute or copy through e-mail. Please notify the sender immediately by e-mail if
you have received this document by mistake and delete this document from your
system. If you are not the intended recipient you are notified that disclosing,
copying, distributing or taking any action in reliance on the contents of this
information is strictly prohibited.