0% found this document useful (0 votes)
43 views77 pages

Python Notes Class 11 - Computer Science - GeeksforGeeks

The document provides an overview of Python programming tailored for Class XI students, covering fundamental concepts such as variables, loops, and functions. It emphasizes Python's readability, versatility, and extensive libraries, making it accessible for beginners and powerful for experts. The guide also explains execution modes, character sets, tokens, and variable management in Python.

Uploaded by

mugundanb10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views77 pages

Python Notes Class 11 - Computer Science - GeeksforGeeks

The document provides an overview of Python programming tailored for Class XI students, covering fundamental concepts such as variables, loops, and functions. It emphasizes Python's readability, versatility, and extensive libraries, making it accessible for beginners and powerful for experts. The guide also explains execution modes, character sets, tokens, and variable management in Python.

Uploaded by

mugundanb10
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

7/13/25, 8:38 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Search...

DSA Practice Problems C C++ Java Python JavaScript Data Science Machine Learning Cou

Python Notes Class 11 - Computer Science


Last Updated : 08 Dec, 2024

In Python for Class XI, you'll explore the fundamentals of programming with
Python, tailored specifically for Class XI students. This article breaks down
key concepts such as variables, loops, and functions, making it easy for you
to grasp the basics of coding.

Whether you're starting from scratch or looking to solidify your


understanding, this guide will help you build a strong foundation in Python,
essential for your future studies in computer science

Computational Thinking and Programming I - Class 11


Python Notes
Table of Content
Basics of Python Programming
hello world Program
Python Tokens (keyword, identifier, literal, operator)
Variables
Use of Comments
Knowledge of Data Types
Mapping (dictionary)
Mutable and Immutable Data Types
Operators
Accepting Input From Console
Errors- Syntax, Logical, and Run-Time Errors
Flow of Control
Conditional Statements: if, if-else, if-elif-else, Flowcharts
for loop, while loop, break and continue statements
Strings
Lists: Introduction, Indexing, List Operations
Built-in Lists Functions/Methods in Python
Dictionary
Introduction to Python Modules
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 1/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Using Random and Statistics Modules

Basics of Python Programming

Introduction to Python

Python is a versatile, high-level programming language known for its


readability and simplicity. Designed with an emphasis on code clarity,
Python uses straightforward syntax that resembles everyday English,
making it accessible for beginners and powerful for experts. It supports
various programming paradigms, including procedural, object-oriented, and
functional programming. Python is widely used in web development, data
analysis, artificial intelligence, scientific computing, and automation. Its
extensive library ecosystem and supportive community contribute to its
popularity and effectiveness in solving diverse problems.

Features of Python

Python is a dynamic, high-level, free open source, and interpreted


programming language. It supports object-oriented programming as well
as procedural-oriented programming. In Python, we don’t need to declare
the type of variable because it is a dynamically typed language. For
example, x = 10 Here, x can be anything such as String, int, etc. In this
article, we will see what characteristics describe the Python programming
language

First off, Python is known for its readable and clean syntax. Imagine writing
code that looks almost like plain English. This means you don’t need to
struggle with confusing syntax just to get things done. For example, a
simple line of Python code might look like this: print("Hello, world!"). It's
easy to understand, even if you're new to programming.

Another fantastic feature is Python's versatility. It can be used for a wide


range of tasks, from web development with frameworks like Django and
Flask to data analysis with libraries like Pandas and NumPy. Want to dive
into machine learning? Python's got you covered with libraries like
TensorFlow and Scikit-learn. It’s like having a universal remote for tech
projects.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 2/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Python is a high-level programming language. Python is very easy to


learn the language as compared to other languages like C, C#, Javascript,
Java, etc. It is very easy to code in the Python language and anybody can
learn Python basics in a few hours or days. It is also a developer-friendly
language.

Python also boasts extensive libraries and frameworks. Think of libraries


as pre-built chunks of code that you can use to solve specific problems
without having to reinvent the wheel. Need to handle HTTP requests?
There’s a library for that. Want to plot some graphs? Python has libraries
for that too. It’s a bit like having a giant toolbox where you can pick the
right tool for your project.

One of the key features of Python is Object-Oriented programming.


Python supports object-oriented language and concepts of classes, object
encapsulation, etc.

Python is a high-level language. When we write programs in Python, we


do not need to remember the system architecture, nor do we need to
manage the memory.

Interactivity is another cool aspect. Python supports interactive coding


through environments like Jupyter Notebooks, where you can write code
and immediately see the results. It’s great for experimenting with code
snippets and seeing how changes affect your results in real-time.

Lastly, Python has a strong community. Whether you’re stuck on a


problem or looking for a library, there’s a massive community ready to
help out. Forums, tutorials, and online courses abound, so you’re never
really alone on your coding journey.

In short, Python’s clean syntax, versatility, extensive libraries, interactive


nature, and supportive community make it a powerful and accessible
language for a variety of programming tasks.

Executing a Simple “hello world" Program


Executing a simple "Hello, World!" program in Python is a great way to get
started with coding and see how the language works. It’s like the “welcome

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 3/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

mat” of programming—easy to do and shows you that everything is set up


correctly. Here’s how you can run this classic program:

1. Open Your Code Editor: First, you need a place to write your code. You
can use any text editor like Notepad, but it's better to use a code editor
like Visual Studio Code, PyCharm, or even an interactive environment like
Jupyter Notebook.
2. Write the Code: In your editor, type the following line of code:

print("Hello, World!")

This line uses the print() function to display the text "Hello, World!" on
the screen. The print() function is a built-in Python function that outputs
whatever is inside the parentheses to the console.
3. Save Your File: Save your file with a .py extension, for example,
hello_world.py. The .py tells your computer that this file is a Python script.
4. Run the Program: To see your code in action, you need to execute it. If
you’re using a terminal or command prompt, navigate to the directory
where you saved your file and type:

python hello_world.py

Press Enter, and you should see Hello, World! displayed on the screen.
5. See the Magic: When you run the program, Python reads the print()
statement and displays "Hello, World!" on your screen. It’s like a friendly
introduction from Python saying, “Hey, your setup is all good, and I’m
ready to run your code!”

That’s all there is to it! You've just executed your first Python program. It’s a
simple start, but it opens the door to more complex coding adventures. If
you see the "Hello, World!" message, you’re ready to dive deeper into the
world of Python programming.

Execution Modes: Interactive mode and Script mode

In Python, you have two main ways to run your code: interactive mode and
script mode. Each mode serves a different purpose and is useful in different
scenarios.

Interactive Mode:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 4/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

What It Is: Interactive mode allows you to write and execute Python code
one line at a time. It’s like having a conversation with Python where you
type a command and instantly see the result.
How to Use It: To start interactive mode, simply open your terminal or
command prompt and type python or python3. You’ll enter the Python shell,
indicated by the >>> prompt, where you can type Python commands
directly.
When to Use It: Interactive mode is great for experimenting with small
code snippets, testing ideas, or learning how Python functions work. For
example, you can quickly test a function or perform calculations without
having to save and run a script.

Script Mode:

What It Is: Script mode involves writing Python code in a file (usually
with a .py extension) and then running the entire file as a program. This
mode is suited for larger programs or when you want to run the same
code multiple times.
How to Use It: Write your Python code in a text editor and save the file
with a .py extension. To execute the script, open your terminal or
command prompt, navigate to the file’s location, and type python
filename.py (replace filename with your file’s name).
When to Use It: Script mode is ideal for developing and running
complete programs or scripts. It allows you to organize your code into
files, making it easier to manage and reuse.

Python Character Set

Python's character set is essentially the collection of characters that the


language recognizes and can process. This set includes a variety of
characters, which are integral for writing and executing Python code:

1. Alphabetic Characters: Python recognizes both uppercase (A-Z) and


lowercase (a-z) letters. These characters are used for naming variables,
functions, classes, and more.
2. Digits: Numbers from 0 to 9 are used in Python for numeric literals,
variable names, and other expressions.
3. Special Characters: Python supports a range of special characters that
are used for various syntactic purposes:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 5/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Operators: Such as +, -, *, /, %, and =.


Punctuation: Includes characters like (), {}, [], ., ,, ;, and :.
Quotation Marks: Single (') and double (") quotes are used for
defining string literals.
Escape Characters: Such as \n (newline) and \t (tab), which are used
to format strings.
4. Whitespace Characters: Spaces, tabs, and newlines are used to format
and separate code. Python is sensitive to indentation, which uses spaces
or tabs to define the structure of the code.
5. Unicode Characters: Python supports Unicode, allowing it to handle a
wide range of characters from different languages and symbol sets. This
includes characters from non-English alphabets, emojis, and special
symbols.

Python Tokens (keyword, identifier, literal, operator,


punctuator)
In Python, tokens are the building blocks of the language's syntax. They are
the smallest units of meaning in a program, and they fall into several
categories:

1. Keywords: These are reserved words that have a special meaning in


Python. They cannot be used as identifiers (names for variables,
functions, etc.). Keywords define the language’s syntax and structure. For
example, if, else, for, while, and def are all keywords. They control the
flow of the program or define its structure.
2. Identifiers: Identifiers are names given to various program elements like
variables, functions, and classes. They must start with a letter (A-Z or a-z)
or an underscore (_), followed by letters, digits, or underscores. Examples
include variable_name, my_function, and ClassName. They help us reference
and manipulate data within our code.
3. Literals: Literals are constant values directly written in the code. They
represent data like numbers, text, or boolean values. For instance:
String literals: 'hello', "world"
Numeric literals: 123, 3.14
Boolean literals: True, False
Special literals: None (represents the absence of a value)

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 6/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

4. Operators: Operators perform operations on variables and values. Python


includes various operators, such as:
Arithmetic operators: +, -, *, /, %
Comparison operators: ==, !=, >, <, >=, <=
Logical operators: and, or, not
Assignment operators: =, +=, -=, *=, /=

5. Punctuators: Punctuators are symbols that help define the structure and
syntax of Python code. They include:
Parentheses: (), used for grouping expressions and function calls.
Braces: {}, used for defining dictionaries and sets.
Brackets: [], used for lists and indexing.
Comma: ,, used to separate items in lists or function arguments.
Colon: :, used to define blocks of code, such as in loops and
conditionals.

Variables
In Python, variables are like containers that store data values. You can think
of them as labels for pieces of information that you want to use in your
program. Here's a quick rundown on how variables work and some key
points to know:

1. Naming Variables: Variables in Python are named with identifiers. They


should start with a letter (A-Z or a-z) or an underscore (_), followed by
letters, digits, or underscores. For example, age, student_name, and
total_score are all valid names. Python is case-sensitive, so score and Score
would be considered different variables.
2. Assigning Values: To assign a value to a variable, you use the equals sign
(=). For instance:

age = 16
name = "Alice"

Here, age is assigned the integer 16, and name is assigned the string "Alice".
3. Types of Variables: Python is dynamically typed, which means you don’t
need to specify the type of a variable when you declare it. The type is
determined automatically based on the value assigned. Python can
handle various data types including:
Integers: Whole numbers like 5 or 100

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 7/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Floats: Decimal numbers like 3.14 or 0.5


Strings: Text enclosed in quotes like "hello" or 'world'
Booleans: True or False values
4. Reassigning Values: You can change the value of a variable by assigning
a new value to it. For example:

age = 16
age = 17

Here, the variable age initially holds 16, but after the reassignment, it holds
17.
5. Using Variables: Once you have a variable, you can use it in expressions,
print it, or manipulate it in various ways. For example:

total = age + 5
print("In 5 years, you will be", total)

6. Scope of Variables: The scope of a variable refers to where it can be


accessed in your code. Variables defined inside a function are local to that
function and can’t be accessed outside of it, while variables defined
outside functions are global and can be accessed anywhere in the script.

Concept of l-value and r-value


In programming, the concepts of l-value and r-value help us understand
how variables and values are used and manipulated in expressions. They
might sound a bit abstract at first, but they’re crucial for understanding how
assignment and expressions work.

l-value (Left-hand Value)

Definition: An l-value refers to an expression that represents a location in


memory where a value can be stored. Essentially, it’s something that has
a specific address where data can be placed or updated.
Characteristics:
It can appear on the left side of an assignment statement
because you can assign a value to it.
It often represents variables or objects that can hold data.
Example: In the assignment x = 10, x is an l-value. It represents a memory
location where the value 10 is stored.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 8/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

r-value (Right-hand Value)

Definition: An r-value represents the actual value or data that is being


assigned to an l-value. It is a value that does not have a specific memory
location but can be used to assign a value to an l-value.
Characteristics:
It can appear on the right side of an assignment statement
because it provides the value to be stored.
It often represents constants or expressions that produce values.
Example: In the same assignment x = 10, 10 is an r-value. It is the value
being assigned to the variable x.

Illustrative Example:

Consider the expression a = b + 5:

l-value: a is an l-value because it represents the memory location where


the result of the expression b + 5 will be stored.
r-value: b + 5 is an r-value because it represents the value that will be
calculated and assigned to a.

Key Points:

l-values can be assigned new values. They are typically variables or


objects that can be modified.
r-values are typically values or expressions that provide the data for the
assignment. They do not have a fixed memory location.

Use of Comments
Comments in programming are crucial for creating readable, maintainable,
and understandable code. They are notes embedded in the code that are
ignored by the compiler or interpreter during execution but can be incredibly
useful for developers. Here’s a quick guide to using comments effectively:

Purpose of Comments

1. Documentation:
Explanation: Comments help explain what a section of code does,
making it easier for others (and yourself) to understand the logic and
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-python-… 9/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

purpose behind the code. This is especially important for complex or


non-obvious code.
Example:

# Calculate the area of a circle


area = 3.14 * radius * radius

2. Clarification:
Clarify Code: They can clarify why a particular approach or algorithm
was used, which can be useful for future maintenance or for other
developers reading your code.
Example:

# Using a binary search algorithm for faster lookups


result = binary_search(sorted_list, target_value)

3. TODOs and Notes:


Future Work: Comments can be used to indicate tasks that need to be
completed or improvements that could be made later.
Example:

# TODO: Optimize this function for better performance

4. Debugging:
Temporary Changes: During debugging, comments can help
temporarily disable parts of the code to isolate issues.
Example:

# print("Debug info:", debug_variable) # Commented out for


debugging

5. Code Collaboration:
Team Communication: In collaborative projects, comments can be
used to communicate intentions, decisions, or instructions to other
team members.
Example:

# This function is used for user authentication

Types of Comments in Python


https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 10/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

1. Single-Line Comments:
Syntax: Use the # symbol to comment on a single line.
Example:

# This is a single-line comment


print("Hello, World!") # Inline comment

2. Multi-Line Comments:
Syntax: Use triple quotes (''' or """) for multi-line comments, although
technically, these are multi-line strings that are not assigned to a
variable.
Example:

"""
This is a multi-line comment
that spans multiple lines.
"""
print("Hello, World!")

Best Practices

Be Clear and Concise: Write comments that are easy to understand and
directly related to the code.
Avoid Redundancy: Don’t state the obvious. Instead of saying “increment
x by 1,” explain why the increment is necessary.
Keep Comments Up-to-Date: Update comments when the code changes
to avoid misleading information.

Knowledge of Data Types


Understanding data types is fundamental in programming because they
determine what kind of data can be stored and manipulated. In Python, data
types help you manage and work with various kinds of data. Here’s a
breakdown of some key data types you’ll encounter:

Basic Data Types

1. Integers (int):
Definition: Whole numbers without a decimal point.
Example: 5, 100, -42
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 11/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Usage: Used for counting, indexing, and mathematical operations.


Range: Integers can be positive, negative, or zero. Python supports
very large integers, limited by available memory.
2. Floating-Point Numbers (float):
Definition: Numbers that contain a decimal point.
Example: 3.14, 0.99, -7.5
Usage: Used for precise measurements, calculations involving
fractions, and scientific calculations.
Precision: Floating-point numbers are approximate and have a limited
precision based on the number of bits used to store them. They are
subject to rounding errors.

3. Strings (str):
Definition: Sequences of characters enclosed in single (') or double
quotes (").
Example: "Hello", 'World', "123"
Usage: Used for text processing, displaying messages, and handling
user input.

4. Booleans (bool):
Definition: Represents truth values, either True or False.
Example: True, False
Usage: Used for conditional statements and logical operations.

5. Complex Numbers (complex)

Definition: Numbers that have both a real and an imaginary part. The
imaginary part is indicated by the letter j or J.
Format: A complex number is written as real_part + imaginary_part * j.

Example: 3 + 4j, -2 - 5j
Usage: Used in advanced mathematics, physics, and engineering where
calculations involve complex numbers. They are especially useful in fields
like signal processing and quantum computing.

Examples in Python:

1. Integer:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 12/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

number = 10
print(type(number)) # Output: <class 'int'>

2. Floating-Point:

pi = 3.14159
print(type(pi)) # Output: <class 'float'>

3. Complex:

z = 2 + 3j
print(type(z)) # Output: <class 'complex'>

Compound Data Types

1. Lists (list):
Definition: Ordered, mutable collections of items enclosed in square
brackets ([]). Items can be of different types.
Example: [1, 2, 3, 4], ['apple', 'banana', 'cherry']

Usage: Used to store multiple items in a single variable and to perform


operations on those items.

2. Tuples (tuple):
Definition: Ordered, immutable collections of items enclosed in
parentheses (()). Items can be of different types.
Example: (1, 2, 3, 4), ('red', 'green', 'blue')

Usage: Used to store multiple items in a fixed order where the data
shouldn’t change.

3. Dictionaries (dict):
Definition: Unordered collections of key-value pairs enclosed in curly
braces ({}). Keys are unique, and values can be of any type.
Example: {'name': 'Alice', 'age': 25, 'city': 'New York'}

Usage: Used to store and retrieve data efficiently using keys.

4. Sets (set):
Definition: Unordered collections of unique items enclosed in curly
braces ({}).
Example: {1, 2, 3}, {'apple', 'banana'}

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 13/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Usage: Used to store unique items and perform mathematical set


operations like union, intersection, and difference.

Special Data Types

1. NoneType (None):
Definition: Represents the absence of a value or a null value.
Example: None
Usage: Used to signify that a variable has no value or to represent
missing or undefined data.

Key Points

Type Conversion: You can convert between data types using functions
like int(), float(), str(), and bool().

age = 25 # int
height = 5.9 # float
name = str(age) # converts int to string

Dynamic Typing: Python is dynamically typed, meaning you don’t need to


declare a variable’s type explicitly. The type is determined at runtime
based on the assigned value.

None
In Python, None is a special constant that represents the absence of a value or
a null value. It’s a unique data type, NoneType, and is used in various scenarios
to indicate that something is undefined or missing.

Key Points About None:

1. Representation of Absence:
Definition: None is used to signify that a variable or function does not
have a value assigned to it. It can be thought of as a placeholder or a
default value when no other value is provided.
Example:

result = None

2. Default Return Value:


https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 14/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Definition: If a function doesn’t explicitly return a value, Python returns


None by default.
Example:

def no_return():
pass

print(no_return()) # Output: None

3. Use in Conditional Statements:


Definition: You can use None in conditional statements to check if a
variable has been assigned a value.
Example:

variable = None

if variable is None:
print("Variable is not assigned.")

4. Function Parameters:
Definition: None is often used as a default value for function parameters
to indicate that no argument was provided. This is useful for optional
parameters.
Example:

def greet(name=None):
if name is None:
print("Hello, World!")
else:
print(f"Hello, {name}!")

greet() # Output: Hello, World!


greet("Alice") # Output: Hello, Alice!

5. Comparison:
Definition: None is often compared using is rather than == to check if a
variable is None, as None is a singleton (only one instance exists).
Example:

a = None
b = None

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 15/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

print(a is b) # Output: True

Why Use None?

Initialization: It is useful for initializing variables that will later be


assigned a meaningful value.
Function Return: It provides a clear indication when a function does not
return any specific value.
Optional Parameters: It allows for optional parameters in functions,
providing flexibility in function calls.

Mapping(dictionary)
In Python, a dictionary is a built-in data structure that allows you to store
and manage data in key-value pairs. It’s a type of mapping where each key is
associated with a value, making it easy to look up data based on a unique
identifier.

Key Features of Dictionaries:

1. Key-Value Pairs:
Definition: A dictionary stores data in pairs where each key maps to a
specific value. Keys must be unique within a dictionary, but values can
be duplicated.
Example:

student = {
"name": "Alice",
"age": 18,
"courses": ["Math", "Science"]
}

2. Unordered:
Definition: Dictionaries are unordered collections, meaning that the
items have no index. The order of key-value pairs is not guaranteed to
be preserved.
Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 16/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

print(student)
# Output: {'name': 'Alice', 'age': 18, 'courses': ['Math',
'Science']}

3. Mutable:
Definition: Dictionaries are mutable, meaning you can change their
content after creation. You can add, remove, or modify key-value pairs.
Example:

student["age"] = 19 # Update existing key


student["grade"] = "A" # Add new key-value pair

4. Accessing Values:
Definition: Values in a dictionary are accessed using their associated
keys. If the key does not exist, it will raise a KeyError.
Example:

print(student["name"]) # Output: Alice

5. Methods:
Definition: Dictionaries come with several useful methods for handling
data.
.get(key, default): Returns the value for a key if it exists,
otherwise returns a default value.

print(student.get("age", "Not Found")) # Output: 19


print(student.get("address", "Not Found")) # Output:
Not Found

.keys(): Returns a view object displaying all the keys.

print(student.keys()) # Output: dict_keys(['name',


'age', 'courses', 'grade'])

.values(): Returns a view object displaying all the values.

print(student.values()) # Output: dict_values(['Alice',


19, ['Math', 'Science'], 'A'])

.items(): Returns a view object displaying all the key-value


pairs.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 17/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

print(student.items()) # Output: dict_items([('name',


'Alice'), ('age', 19), ('courses', ['Math', 'Science']),
('grade', 'A')])

6. Deleting Items:
Definition: You can remove items using methods like del or the .pop()
method.
Example:

del student["grade"] # Removes the 'grade' key


removed_value = student.pop("age") # Removes and returns the
value associated with 'age'

Example Usage:

Here’s a simple example that demonstrates some of these features:

# Creating a dictionary
car = {
"make": "Toyota",
"model": "Corolla",
"year": 2021
}

# Accessing a value
print(car["make"]) # Output: Toyota

# Adding a new key-value pair


car["color"] = "Blue"

# Modifying an existing value


car["year"] = 2022

# Removing a key-value pair


del car["model"]

# Checking keys and values


print(car.keys()) # Output: dict_keys(['make', 'year', 'color'])
print(car.values()) # Output: dict_values(['Toyota', 2022, 'Blue'])

Mutable and Immutable Data Types

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 18/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

In Python, data types are categorized into mutable and immutable based on
whether their content can be changed after they are created. Understanding
the difference between these two categories is essential for effective
programming and memory management.

Mutable Data Types

Mutable data types are those whose values can be changed after they are
created. This means that you can modify, add, or remove elements from
these objects without creating a new object.

Examples of Mutable Data Types:

1. Lists (list):
Definition: Ordered collections of items that can be changed after
creation.
Operations: You can modify individual elements, add new elements, or
remove elements.
Example:

fruits = ["apple", "banana", "cherry"]


fruits[1] = "blueberry" # Modifies the second item
fruits.append("orange") # Adds a new item

2. Dictionaries (dict):
Definition: Collections of key-value pairs where the data can be
modified after creation.
Operations: You can add, update, or remove key-value pairs.
Example:

student = {"name": "Alice", "age": 18}


student["age"] = 19 # Updates the value
student["grade"] = "A" # Adds a new key-value pair

3. Sets (set):
Definition: Unordered collections of unique elements that can be
modified.
Operations: You can add or remove elements from a set.
Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 19/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

numbers = {1, 2, 3}
numbers.add(4) # Adds a new element
numbers.remove(2) # Removes an element

Immutable Data Types

Immutable data types are those whose values cannot be changed after they
are created. Any operation that seems to modify the object actually creates a
new object.

Examples of Immutable Data Types:

1. Integers (int):
Definition: Whole numbers without decimal points.
Operations: Any arithmetic operation creates a new integer object.
Example:

a = 5
a += 2 # Creates a new integer object, 7

2. Floating-Point Numbers (float):


Definition: Numbers with decimal points.
Operations: Operations like addition or multiplication create new float
objects.
Example:

pi = 3.14
pi += 0.01 # Creates a new float object

3. Strings (str):
Definition: Sequences of characters.
Operations: Concatenation or slicing creates new string objects.
Example:

message = "Hello"
message = message + " World" # Creates a new string object

4. Tuples (tuple):

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 20/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Definition: Ordered collections of elements, similar to lists but


immutable.
Operations: Any modification creates a new tuple object.
Example:

coordinates = (10, 20)


new_coordinates = coordinates + (30,) # Creates a new tuple

Key Differences:

Mutability: Mutable types allow in-place modification (e.g., you can


change a list or dictionary without creating a new one). Immutable types
do not (e.g., changing a string results in a new string).
Memory Efficiency: Immutable types are generally more memory-
efficient because their values cannot change, and Python can optimize
their storage.
Use Cases: Mutable types are used when you need to change the data
structure after creation (e.g., dynamic lists or dictionaries). Immutable
types are used when you need constant values that should not change
(e.g., fixed configuration settings).

Operators

Arithmetic operators, Relational operators, Logical operators

In Python, operators are special symbols that perform operations on


variables and values. They can be broadly categorized into arithmetic
operators, relational operators, and logical operators. Here's a breakdown of
each category:

Arithmetic Operators

Arithmetic operators are used to perform basic mathematical operations.

Addition (+): Adds two numbers or concatenates two strings.


Example:

result = 5 + 3 # Output: 8
text = "Hello" + " World" # Output: "Hello World"

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 21/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Subtraction (-): Subtracts one number from another.


Example:

result = 10 - 4 # Output: 6

Multiplication (*): Multiplies two numbers or repeats a string.


Example:

result = 7 * 2 # Output: 14
text = "Hi! " * 3 # Output: "Hi! Hi! Hi! "

Division (/): Divides one number by another, returning a float.


Example:

result = 10 / 3 # Output: 3.3333333333333335

Floor Division (//): Divides one number by another, returning the largest
integer less than or equal to the result.
Example:

result = 10 // 3 # Output: 3

Modulus (%): Returns the remainder of a division.


Example:

result = 10 % 3 # Output: 1

Exponentiation (**): Raises one number to the power of another.


Example:

result = 2 ** 3 # Output: 8

Relational Operators

Relational operators are used to compare values. They return a boolean


value (True or False).

Equal to (==): Checks if two values are equal.


Example:

result = (5 == 5) # Output: True

Not equal to (!=): Checks if two values are not equal.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 22/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Example:

result = (5 != 3) # Output: True

Greater than (>): Checks if the value on the left is greater than the value
on the right.
Example:

result = (7 > 4) # Output: True

Less than (<): Checks if the value on the left is less than the value on the
right.
Example:

result = (2 < 6) # Output: True

Greater than or equal to (>=): Checks if the value on the left is greater
than or equal to the value on the right.
Example:

result = (5 >= 5) # Output: True

Less than or equal to (<=): Checks if the value on the left is less than or
equal to the value on the right.
Example:

result = (5 >= 5) # Output: True

Logical Operators

Logical operators are used to combine conditional statements and return


boolean results.

And (and): Returns True if both statements are true.


Example:

result = (5 > 3) and (8 < 10) # Output: True

Or (or): Returns True if at least one of the statements is true.


Example:

result = (5 > 3) or (8 > 10) # Output: True

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 23/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Not (not): Reverses the logical state of its operand. Returns True if the
statement is false, and False if the statement is true.
Example:

result = not (5 > 3) # Output: False

These operators are fundamental in programming as they allow


you to perform calculations, make decisions, and control the flow
of your programs based on conditions.

Assignment Operators, Augmented Assignment Operators

In Python, assignment operators and augmented assignment operators are


used to assign values to variables and modify them in different ways. Here’s
a breakdown of each:

Assignment Operators

Assignment operators are used to assign values to variables.

Assignment (=): Assigns a value to a variable.


Example:

x = 5 # Assigns the value 5 to the variable x

Augmented Assignment Operators

Augmented assignment operators combine an arithmetic operation with an


assignment. They provide a shorthand way to update the value of a variable.

1. Addition Assignment (+=): Adds a value to the variable and assigns the
result back to the variable.

Example:

x = 10
x += 5 # Equivalent to x = x + 5; x now equals 15

2. Subtraction Assignment (-=): Subtracts a value from the variable and


assigns the result back to the variable.

Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 24/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

y = 20
y -= 7 # Equivalent to y = y - 7; y now equals 13

3. Multiplication Assignment (*=): Multiplies the variable by a value and


assigns the result back to the variable.

Example:

z = 4
z *= 3 # Equivalent to z = z * 3; z now equals 12

4. Division Assignment (/=): Divides the variable by a value and assigns the
result back to the variable. Note that this will always result in a float.

Example:

a = 8
a /= 2 # Equivalent to a = a / 2; a now equals 4.0

5. Floor Division Assignment (//=): Performs floor division (division that


rounds down) on the variable and assigns the result back to the variable.

Example:

b = 7
b //= 2 # Equivalent to b = b // 2; b now equals 3

6. Modulus Assignment (%=): Calculates the remainder of the variable


divided by a value and assigns it back to the variable.

Example:

c = 10
c %= 3 # Equivalent to c = c % 3; c now equals 1

7. Exponentiation Assignment (**=): Raises the variable to the power of a


value and assigns the result back to the variable.

Example:

d = 2
d **= 3 # Equivalent to d = d ** 3; d now equals 8

Identity Operators (is, is not), Membership Operators (in not in)

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 25/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

In Python, identity operators and membership operators are used to


compare objects and check their relationships. Here’s a breakdown of each:

Identity Operators

Identity operators are used to compare the memory locations of two objects,
determining whether they are the same object.

is: Checks if two variables point to the same object in memory.


Example:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b) # Output: True, because a and b refer to the


same object
print(a is c) # Output: False, because a and c refer to
different objects, even though their contents are the same

is not: Checks if two variables do not point to the same object in memory.
Example:

x = "hello"
y = "world"

print(x is not y) # Output: True, because x and y are


different objects

Membership Operators

Membership operators are used to check if a value is present within a


sequence (like a list, tuple, or string) or other iterable data structures.

in: Checks if a value is present in a sequence or iterable.


Example:

numbers = [1, 2, 3, 4, 5]
print(3 in numbers) # Output: True, because 3 is in the
list
print("hello" in "hello world") # Output: True, because
the substring "hello" is present in the string

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 26/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

not in: Checks if a value is not present in a sequence or iterable.


Example:

fruits = ["apple", "banana", "cherry"]


print("grape" not in fruits) # Output: True, because
"grape" is not in the list
print(5 not in range(1, 5)) # Output: True, because 5 is
not in the range from 1 to 4

These operators are useful for performing comparisons and checking the
presence of elements in data structures, which helps in controlling the flow
of a program based on certain conditions.

Expressions and Statements


Expression: An expression is a combination of values, variables,
operators, and functions that evaluates to a single value. Expressions can
be as simple as 5 + 3 or as complex as ((2 * 3) + (4 / 2)). Expressions
always return a result.
Example:

result = 5 * (2 + 3) # 5 * 5 = 25, so the expression


evaluates to 25

Statement: A statement is a complete unit of execution that performs an


action. Statements include assignments, loops, conditionals, and function
calls. Statements do not return a value but execute an operation.
Example:

x = 10 # This is an assignment statement


print(x) # This is a print statement

Precedence of Operators

Operator precedence determines the order in which operators are evaluated


in an expression. Operators with higher precedence are evaluated before
operators with lower precedence. For instance, multiplication (*) has higher
precedence than addition (+), so in the expression 2 + 3 * 4, the
multiplication is performed first, giving 2 + 12, which results in 14.

Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 27/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

result = 10 + 3 * 2 # The multiplication is done first, so 10 + (3


* 2) = 16

Evaluation of an Expression

When an expression is evaluated, Python performs operations based on


operator precedence and associativity rules. Parentheses can be used to
override default precedence and force specific order of operations.

Example:

value = (8 + 2) * 5 # Parentheses ensure that 8 + 2 is evaluated


first, so (10 * 5) = 50

Type Conversion

Type conversion allows you to change the data type of a value. This can be
done implicitly by Python or explicitly by the programmer.

Explicit Conversion: Done using functions like int(), float(), and str() to
convert between types.
Example:

num_str = "123"
num_int = int(num_str) # Converts the string "123" to the
integer 123

Implicit Conversion: Python automatically converts types when


necessary, such as converting integers to floats during arithmetic
operations involving both types.
Example:

result = 10 + 2.5 # The integer 10 is implicitly converted


to a float, so the result is 12.5

Understanding these concepts helps you write more effective and error-free
code by ensuring expressions are evaluated correctly and data types are
managed properly.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 28/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Accepting Data as Input From the Console and


Displaying Output

Accepting Input from the Console

To get input from the user, use the input() function. This function reads a line
of text entered by the user and returns it as a string. If you need to handle
different types of input, like integers or floats, you'll need to convert the
input explicitly.

Example: Accepting a String Input

name = input("Enter your name: ") # Prompt the user and store the
entered name as a string
print(f"Hello, {name}!") # Display the entered name

Example: Accepting and Converting Numeric Input

age = input("Enter your age: ") # Input is read as a string


age = int(age) # Convert the input to an integer
print(f"You are {age} years old.") # Display the age

Displaying Output to the Console

To display output, use the print() function. This function can take multiple
arguments and will display them separated by spaces.

Example: Basic Output

print("Hello, World!") # Prints the string "Hello, World!" to the


console

Example: Formatting Output

name = "Alice"
age = 17
print(f"{name} is {age} years old.") # Using f-strings for
formatted output

Combining Input and Output

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 29/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

You can combine both input and output operations in a single program to
create interactive scripts.

Example: Interactive Program

# Get user input


first_name = input("Enter your first name: ")
last_name = input("Enter your last name: ")

# Display a formatted message


print(f"Welcome, {first_name} {last_name}!")

Handling Multiple Inputs

You can also handle multiple inputs at once by splitting the input string.

Example: Multiple Inputs

data = input("Enter your age and height separated by a space: ")


age, height = data.split() # Split the input into two parts
age = int(age) # Convert age to an integer
height = float(height) # Convert height to a float
print(f"Age: {age}, Height: {height}")

Using input() and print() functions allows you to create interactive Python
programs that can take user input and display output dynamically.

Errors- Syntax Errors, Logical Errors, and Run-Time


Errors
Errors are problems in a program that causes the program to stop its
execution. On the other hand, exceptions are raised when some internal
events change the program’s normal flow.

Syntax Errors

Syntax errors occur when the code does not follow the correct syntax or
structure of the Python language. These errors are caught by the Python
interpreter before the code is executed. They are often due to typos or
incorrect use of language features.

Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 30/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

print("Hello, World!" # Missing closing parenthesis

Error Message:

SyntaxError: unexpected EOF while parsing

Fix:

print("Hello, World!") # Corrected syntax with closing parenthesis

Logical Errors

Logical errors occur when the code runs without crashing but produces
incorrect results. These errors are often due to incorrect logic or algorithm
mistakes. Unlike syntax errors, logical errors are not detected by the
interpreter and require careful debugging and testing to identify.

Example:

def calculate_area(radius):
return radius * radius # Incorrect formula for area of a
circle

print(calculate_area(5)) # Should be 78.5 (using πr²), but returns


25

Fix:

import math

def calculate_area(radius):
return math.pi * radius * radius # Correct formula

print(calculate_area(5)) # Returns approximately 78.54

Runtime Errors

Runtime errors occur while the program is running and often cause the
program to crash or terminate unexpectedly. These errors can be due to
various issues such as invalid operations, file not found, or division by zero.

Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 31/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

x = 10
y = 0
print(x / y) # Division by zero error

Error Message:

ZeroDivisionError: division by zero

Fix:

x = 10
y = 1
print(x / y) # Correct division

Understanding these errors helps in effective debugging and writing error-


free code. Syntax errors are usually the easiest to fix as they are caught
early, while logical and runtime errors require more careful inspection of the
code’s logic and execution.

Flow of Control: Use of Indentation, Sequential Flow,


Conditional and Iterative Flow
In Python, the flow of control in a program dictates how statements are
executed and how the program’s logic is structured. Here’s an overview of
how control flows through a Python program, including indentation,
sequential execution, and the use of conditional and iterative statements:

Introduction to Flow of Control

The flow of control refers to the order in which the individual statements,
instructions, or function calls are executed or evaluated in a programming
language. In Python, this flow is managed using different constructs like
sequences, conditions, and loops.

Use of Indentation

Python uses indentation (whitespace) to define blocks of code. Unlike some


other programming languages that use braces or keywords, Python’s
indentation is crucial for defining the structure and flow of the program.
Proper indentation ensures that code blocks (such as those following

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 32/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

conditional statements or loops) are correctly associated with their control


statements.

Example:

if True:
print("This is inside the if block") # Indented block
print("This is outside the if block") # Not indented

Sequential Flow

Sequential flow is the most straightforward flow of control where


statements are executed one after the other, from top to bottom. This is the
default mode of execution for Python programs.

Example:

print("Start")
print("Middle")
print("End")

In this example, the program prints "Start", then "Middle", and finally
"End", in that order.

Conditional Flow

Conditional flow allows the program to make decisions and execute different
blocks of code based on certain conditions. This is typically managed using
if, elif, and else statements.

Example:

age = 20
if age < 18:
print("Minor")
elif age < 65:
print("Adult")
else:
print("Senior")

Here, the program checks the value of age and prints different messages
depending on the condition met.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 33/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Iterative Flow

Iterative flow allows the program to repeatedly execute a block of code as


long as a condition is true. This is managed using loops like for and while.

Example (for loop):

for i in range(5):
print(i) # Prints numbers from 0 to 4

This loop iterates over a range of numbers and prints each one.
Example (while loop):

count = 0
while count < 5:
print(count)
count += 1 # Increments count each iteration

This loop continues as long as the condition count < 5 is true.

Understanding these control flow concepts helps in creating well-structured


and logical programs, allowing you to manage how your code executes
under different conditions and repetitions.

Conditional Statements: if, if-else, if-elif-else, Flowcharts


Conditional statements in Python are used to execute specific blocks of code
based on certain conditions. Let’s explore the different types of conditional
statements, along with flowcharts and examples of simple programs.

Conditional Statements

1. if Statement The if statement checks a condition and executes the


associated block of code if the condition is true.
Example:

temperature = 30
if temperature > 25:
print("It's a hot day!")

2. if-else Statement The if-else statement provides an alternative block of


code to execute if the condition is false.
Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 34/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

temperature = 20
if temperature > 25:
print("It's a hot day!")
else:
print("It's a cool day!")

3. if-elif-else Statement The if-elif-else statement allows multiple


conditions to be checked in sequence. The first true condition's block is
executed, and if none are true, the else block is executed.
Example:

temperature = 10
if temperature > 30:
print("It's a very hot day!")
elif temperature > 20:
print("It's a warm day!")
elif temperature > 10:
print("It's a cool day!")
else:
print("It's a cold day!")

Flowcharts

Flowcharts visually represent the flow of control in a program. They use


different shapes to denote different types of actions or decisions.

Decision Shape: Represents a condition (diamond shape).


Process Shape: Represents an action (rectangle shape).
Start/End: Marks the beginning or end of a process (oval shape).

Example Flowchart for Checking Temperature:

1. Start
2. Check Temperature (Decision)
If Temperature > 25: Print "Hot Day"
Else: Print "Cool Day"

3. End

Simple Programs

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 35/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

1. Absolute Value: To find the absolute value of a number, you can use
conditional statements to handle negative values.
Example:

number = -7
if number < 0:
absolute_value = -number
else:
absolute_value = number
print("Absolute value:", absolute_value)

2. Sort 3 Numbers: To sort three numbers, compare them using conditional


statements and arrange them in order.
Example:

a = 5
b = 2
c = 9

if a > b:
a, b = b, a
if a > c:
a, c = c, a
if b > c:
b, c = c, b

print("Sorted numbers:", a, b, c)

3. Divisibility of a Number: To check if a number is divisible by another


number, use the modulo operator % and conditional statements.
Example:

number = 15
divisor = 3

if number % divisor == 0:
print(f"{number} is divisible by {divisor}")
else:
print(f"{number} is not divisible by {divisor}")

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 36/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

These examples and explanations should help you understand and


implement conditional statements in Python, along with the basics of
flowcharts for visualizing program logic.

Iterative Statement: for loop, range(), while loop,


flowcharts, break and continue statements, nested loops

Iterative Statements in Python

Iterative statements allow you to execute a block of code repeatedly based


on certain conditions. In Python, the primary iterative statements are for

loops and while loops. Here's how they work:

1. for Loop

The for loop iterates over a sequence (like a list, tuple, or string) or a range
of numbers. It’s useful when you know in advance how many times you want
to repeat a block of code.

Example:

for i in range(5):
print(i) # Prints numbers from 0 to 4

2. range() Function

The range() function generates a sequence of numbers and is commonly


used with for loops. It can take up to three arguments: start, stop, and step.

Example:

for i in range(2, 10, 2):


print(i) # Prints 2, 4, 6, 8

3. while Loop

The while loop executes as long as its condition remains true. It’s useful
when you don’t know beforehand how many times you’ll need to repeat the
code.

Example:
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 37/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

count = 0
while count < 5:
print(count)
count += 1 # Increment count

4. Flowcharts

Flowcharts can be used to visualize the control flow of loops. They help in
understanding how the iteration progresses and where decisions are made.

Example Flowchart for a while Loop:

1. Start
2. Initialize Counter (Process)
3. Check Condition (Decision)
If True: Execute Loop Body (Process)
Update Counter (Process)
Back to Check Condition
If False: End Loop

4. End

5. break and continue Statements

break: Exits the loop immediately, regardless of the loop condition.


Example:

for i in range(10):
if i == 5:
break # Exits the loop when i is 5
print(i)

continue: Skips the current iteration and continues with the next iteration
of the loop.
Example:

for i in range(10):
if i % 2 == 0:
continue # Skips even numbers
print(i) # Prints only odd numbers

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 38/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

6. Nested Loops

Nested loops involve placing one loop inside another. They are useful for
working with multi-dimensional data or generating patterns.

Example:

for i in range(3):
for j in range(3):
print(f"({i}, {j})", end=" ")
print() # New line after inner loop

Suggested Programs: Generating Pattern, Summation of Series,


Finding the Factorial of a Positive Number, etc.

Generating Patterns:
Example: Generate a square pattern of stars.

size = 5
for i in range(size):
for j in range(size):
print('*', end=' ')
print() # New line after each row

Summation of Series:
Example: Calculate the sum of the first 10 natural numbers.

total = 0
for i in range(1, 11):
total += i
print("Sum of series:", total)

Finding the Factorial of a Positive Number:


Example:

number = 5
factorial = 1
for i in range(1, number + 1):
factorial *= i
print("Factorial:", factorial)

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 39/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Understanding these iterative constructs and their uses helps in solving


repetitive tasks efficiently and allows for the creation of complex patterns
and calculations in programming.

Strings: Introduction, String Operations (concatenation,


repetition, membership and slicing)

Strings in Python

Strings are sequences of characters used to represent text in Python. They


are one of the most commonly used data types and are essential for
handling textual data. Here’s a brief overview of strings and some of their
key operations.

Introduction to Strings

A string is a collection of characters enclosed in single quotes ('), double


quotes ("), or triple quotes (''' or """). Strings are immutable, meaning once
created, their content cannot be changed.

Example:

message = "Hello, World!"

String Operations

1. Concatenation: Concatenation combines two or more strings into one.


This is done using the + operator.
Example:

first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name) # Output: John Doe

2. Repetition: Repetition allows you to repeat a string a certain number of


times using the * operator.
Example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 40/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

echo = "Hello! " * 3


print(echo) # Output: Hello! Hello! Hello!

3. Membership: Membership checks if a substring exists within a string


using the in keyword. It returns True if the substring is found, and False
otherwise.
Example:

text = "Python programming"


result = "programming" in text
print(result) # Output: True

4. Slicing: Slicing extracts a part of the string. You use indexing to specify
the start and end positions. The syntax is string[start:end].
Example:

phrase = "Hello, World!"


slice1 = phrase[0:5] # Extracts 'Hello'
slice2 = phrase[7:] # Extracts 'World!'
print(slice1) # Output: Hello
print(slice2) # Output: World!

Traversing a String Using Loops


Traversing a string using loops is a common technique to process or analyze
each character in the string. In Python, you can use both for loops and while

loops to iterate over a string. Here's how you can do it:

Using a for Loop

The for loop is straightforward and ideal for traversing a string because it
directly iterates over each character in the string.

Example:

text = "Python"
for char in text:
print(char)

Explanation:
text is the string you want to traverse.
The for loop iterates over each character (char) in the string text.
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 41/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Each character is printed on a new line.

Using a while Loop

You can also use a while loop to traverse a string by managing the index
manually.

Example:

text = "Python"
index = 0
while index < len(text):
print(text[index])
index += 1

Explanation:
text is the string you want to traverse.
index starts at 0 and increments with each iteration.
text[index] accesses the character at the current index.
The loop continues until index is equal to the length of the string
(len(text)).

Using Enumerate with for Loop

If you need both the character and its index, you can use enumerate() with a
for loop.

Example:

text = "Python"
for index, char in enumerate(text):
print(f"Index {index}: {char}")

Explanation:
enumerate(text) returns both the index and the character.
index is the position of the character in the string.
char is the character at that position.

Practical Example: Counting Vowels

Here’s a practical example of counting vowels in a string:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 42/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Example:

text = "Python Programming"


vowels = "aeiouAEIOU"
count = 0

for char in text:


if char in vowels:
count += 1

print(f"Number of vowels: {count}")

Explanation:
vowels is a string containing all vowel characters.
For each character in text, check if it is in the vowels string.
Increment count if a vowel is found.

Traversing a string is a fundamental skill in programming that allows you to


perform various operations such as searching, counting, and modifying text.

Built-in String Functions/Methods in Python


Python strings come with a variety of built-in methods that make text
manipulation easy and efficient. Here’s a rundown of some commonly used
string methods:

len()

Usage: Returns the number of characters in the string.


Example:

text = "Hello"
print(len(text)) # Output: 5

capitalize()

Usage: Capitalizes the first character of the string and makes all
other characters lowercase.
Example:

text = "hello world"


print(text.capitalize()) # Output: Hello world

title()

Usage: Capitalizes the first letter of each word in the string.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 43/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Example:

text = "hello world"


print(text.title()) # Output: Hello World

lower()

Usage: Converts all characters in the string to lowercase.


Example:

text = "HELLO"
print(text.lower()) # Output: hello

upper()

Usage: Converts all characters in the string to uppercase.


Example:

text = "hello"
print(text.upper()) # Output: HELLO

count()

Usage: Counts the occurrences of a substring within the string.


Example:

text = "hello hello"


print(text.count("hello")) # Output: 2

find()

Usage: Returns the lowest index where the substring is found, or


-1 if not found.
Example:

text = "hello world"


print(text.find("world")) # Output: 6

index()

Usage: Returns the lowest index where the substring is found,


raises ValueError if not found.
Example:

text = "hello world"


print(text.index("world")) # Output: 6

endswith()

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 44/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Usage: Checks if the string ends with the specified substring.


Example:

text = "hello world"


print(text.endswith("world")) # Output: True

startswith()

Usage: Checks if the string starts with the specified substring.


Example:

text = "hello world"


print(text.startswith("hello")) # Output: True

isalnum()

Usage: Returns True if all characters in the string are


alphanumeric (letters and numbers).
Example:

text = "hello123"
print(text.isalnum()) # Output: True

isalpha()

Usage: Returns True if all characters in the string are alphabetic.


Example:

text = "hello"
print(text.isalpha()) # Output: True

isdigit()

Usage: Returns True if all characters in the string are digits.


Example:

text = "12345"
print(text.isdigit()) # Output: True

islower()

Usage: Returns True if all characters in the string are lowercase.


Example:

text = "hello"
print(text.islower()) # Output: True

isupper()

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 45/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Usage: Returns True if all characters in the string are uppercase.


Example:

text = "HELLO"
print(text.isupper()) # Output: True

isspace()

Usage: Returns True if all characters in the string are whitespace.


Example:

text = " "


print(text.isspace()) # Output: True

lstrip()

Usage: Removes leading whitespace or specified characters.


Example:

text = " hello"


print(text.lstrip()) # Output: hello

rstrip()

Usage: Removes trailing whitespace or specified characters.


Example:

text = "hello "


print(text.rstrip()) # Output: hello

strip()

Usage: Removes leading and trailing whitespace or specified


characters.
Example:

text = " hello "


print(text.strip()) # Output: hello

replace()

Usage: Replaces occurrences of a substring with another


substring.
Example:

text = "hello world"


print(text.replace("world", "Python")) # Output: hello
Python

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 46/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

join()

Usage: Joins elements of an iterable (e.g., list) into a single string


with a specified separator.
Example:

words = ["Hello", "world"]


print(" ".join(words)) # Output: Hello world

partition()

Usage: Splits the string into a 3-tuple containing the part before
the separator, the separator itself, and the part after.
Example:

text = "hello world"


print(text.partition(" ")) # Output: ('hello', ' ',
'world')

split()

Usage: Splits the string into a list of substrings based on a


separator.
Example:

text = "hello world"


print(text.split()) # Output: ['hello', 'world']

These methods and functions are essential for text processing and
manipulation in Python, making it easier to work with strings in a variety of
scenarios.

Lists: Introduction, Indexing, List Operations


(concatenation, repetition, membership and slicing)

Introduction to Lists in Python

In Python, a list is a versatile and powerful data structure that can hold an
ordered collection of items, which can be of different types—integers,
strings, objects, or even other lists. Lists are mutable, meaning you can
change their content after they are created. They are defined using square
brackets [], with items separated by commas.

Example:
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 47/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

my_list = [1, 2, 3, "hello", 4.5]

Indexing

Indexing in lists is used to access individual elements based on their


position. Python uses zero-based indexing, so the first item is at index 0, the
second item at index 1, and so on. You can also use negative indexing to
access elements from the end of the list, where -1 refers to the last item, -2

to the second last, and so forth.

Example:

my_list = ["apple", "banana", "cherry"]


print(my_list[0]) # Output: apple
print(my_list[-1]) # Output: cherry

List Operations

1. Concatenation

Concatenation is the operation of combining two lists into a single list. You
use the + operator to concatenate lists.

Example:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined_list = list1 + list2
print(combined_list) # Output: [1, 2, 3, 4, 5, 6]

2. Repetition

Repetition allows you to create a list with repeated copies of its elements
using the * operator.

Example:

my_list = [1, 2, 3]
repeated_list = my_list * 3
print(repeated_list) # Output: [1, 2, 3, 1, 2, 3, 1, 2, 3]

3. Membership

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 48/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Membership checks if an element is in the list using the in keyword. It


returns True if the element is present and False otherwise.

Example:

my_list = ["apple", "banana", "cherry"]


print("banana" in my_list) # Output: True
print("grape" in my_list) # Output: False

4. Slicing

Slicing extracts a portion of the list. It uses the syntax list[start:stop],

where start is the index of the first element included in the slice, and stop is
the index of the first element excluded from the slice.

Example:

my_list = [0, 1, 2, 3, 4, 5]
sliced_list = my_list[1:4]
print(sliced_list) # Output: [1, 2, 3]

You can also omit the start or stop to slice from the beginning or to the end
of the list.

Example:

print(my_list[:3]) # Output: [0, 1, 2]


print(my_list[3:]) # Output: [3, 4, 5]

Lists are fundamental in Python for managing and organizing collections of


data. Mastering these operations will help you manipulate and work with
lists effectively in your programs.

Traversing a List Using Loops


Traversing a list using loops is a common and useful technique in Python
programming. It allows you to access and process each item in the list, one
at a time. Here's how you can do it:

Using a for Loop

The for loop is the most straightforward way to traverse a list. It iterates
over each element of the list, allowing you to perform operations with the
item.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 49/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Example:

my_list = [10, 20, 30, 40, 50]

for item in my_list:


print(item)

Output:

10
20
30
40
50

In this example, item represents each element in my_list, and the loop prints
each element in turn.

Using a while Loop

You can also traverse a list using a while loop by manually managing the
index. This approach gives you more control but requires you to handle the
indexing and loop conditions yourself.

Example:

my_list = [10, 20, 30, 40, 50]


index = 0

while index < len(my_list):


print(my_list[index])
index += 1

Output:

10
20
30
40
50

Here, index starts at 0 and increases by 1 after each iteration, accessing each
element by its index.

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 50/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Using List Comprehensions

For a more concise way to process each item in a list, you can use list
comprehensions. This is a compact way of generating lists based on existing
ones and can also be used for simple operations.

Example:

my_list = [10, 20, 30, 40, 50]


squared_list = [x ** 2 for x in my_list]
print(squared_list)

Output:

[100, 400, 900, 1600, 2500]

In this example, squared_list contains the squares of each element in my_list.

Using enumerate()

If you need both the index and the value of each element while traversing,
enumerate() is a handy built-in function. It returns both the index and the item
in each iteration.

Example:

my_list = ['apple', 'banana', 'cherry']

for index, item in enumerate(my_list):


print(f"Index {index}: {item}")

Output:

Index 0: apple
Index 1: banana
Index 2: cherry

Using these techniques, you can efficiently traverse and process lists in
Python, adapting your approach based on your specific needs and the task at
hand.

Built-in Lists Functions/Methods in Python

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 51/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Here's a concise overview of some essential built-in functions and methods


for working with lists in Python. Each function or method serves a specific
purpose, making it easier to manipulate and analyze lists.

1. len()

Purpose: Returns the number of items in a list.


Example:

my_list = [10, 20, 30, 40]


print(len(my_list)) # Output: 4

2. list()

Purpose: Converts other data types into a list.


Example:

my_string = "hello"
my_list = list(my_string)
print(my_list) # Output: ['h', 'e', 'l', 'l', 'o']

3. append()

Purpose: Adds a single element to the end of the list.


Example:

my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # Output: [1, 2, 3, 4]

4. extend()

Purpose: Adds elements from an iterable (like a list) to the end of the list.
Example:

my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list) # Output: [1, 2, 3, 4, 5]

5. insert()
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 52/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Purpose: Inserts an element at a specified position in the list.


Example:

my_list = [1, 2, 3]
my_list.insert(1, 4)
print(my_list) # Output: [1, 4, 2, 3]

6. count()

Purpose: Returns the number of occurrences of a specific element.


Example:

my_list = [1, 2, 2, 3, 2]
print(my_list.count(2)) # Output: 3

7. index()

Purpose: Returns the index of the first occurrence of a specific element.


Example:

my_list = [1, 2, 3, 2]
print(my_list.index(2)) # Output: 1

8. remove()

Purpose: Removes the first occurrence of a specific element.


Example:

my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list) # Output: [1, 3, 2]

9. pop()

Purpose: Removes and returns the element at the specified position (or
the last element if no position is specified).
Example:

my_list = [1, 2, 3]
item = my_list.pop()

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 53/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

print(item) # Output: 3
print(my_list) # Output: [1, 2]

10. reverse()

Purpose: Reverses the order of elements in the list.


Example:

my_list = [1, 2, 3]
my_list.reverse()
print(my_list) # Output: [3, 2, 1]

11. sort()

Purpose: Sorts the elements of the list in place (modifies the original list).
Example:

my_list = [3, 1, 2]
my_list.sort()
print(my_list) # Output: [1, 2, 3]

12. sorted()

Purpose: Returns a new list that is sorted (does not modify the original
list).
Example:

my_list = [3, 1, 2]
sorted_list = sorted(my_list)
print(sorted_list) # Output: [1, 2, 3]
print(my_list) # Output: [3, 1, 2]

13. min()

Purpose: Returns the smallest element in the list.


Example:

my_list = [4, 1, 7, 3]
print(min(my_list)) # Output: 1

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 54/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

14. max()

Purpose: Returns the largest element in the list.


Example:

my_list = [4, 1, 7, 3]
print(max(my_list)) # Output: 7

15. sum()

Purpose: Returns the sum of all elements in the list (only works with
numeric lists).
Example:

my_list = [1, 2, 3]
print(sum(my_list)) # Output: 6

These functions and methods provide a range of options for manipulating


and analyzing lists, making it easier to handle various data-processing tasks
in your Python programs.

Nested Lists
Nested lists in Python are simply lists that contain other lists as their
elements. They can be thought of as a matrix or a table, where each cell or
row is a list itself. This structure allows you to represent more complex data
arrangements and perform operations on multi-dimensional data.

Basic Example

Here's a simple example of a nested list:

nested_list = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

In this example, nested_list contains three lists, each with three integers.

Accessing Elements

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 55/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

To access elements in a nested list, you need to specify the index of both the
outer list and the inner list. For example:

print(nested_list[0]) # Output: [1, 2, 3] (first inner list)


print(nested_list[1][2]) # Output: 6 (third element of the second
inner list)

Modifying Elements

You can modify elements in a nested list just like you would with a regular
list:

nested_list[0][1] = 20
print(nested_list) # Output: [[1, 20, 3], [4, 5, 6], [7, 8,
9]]

Iterating Over Nested Lists

You can use nested loops to iterate over each element in a nested list. Here’s
how you can print every item:

for sublist in nested_list:


for item in sublist:
print(item, end=' ')
print() # Moves to the next line after printing all items in the
current sublist

Output:

1 20 3
4 5 6
7 8 9

Use Case: Matrix Representation

Nested lists are commonly used to represent matrices (2D arrays) in Python.
For instance, if you're working with a grid or table of data, a nested list can
help you store and manipulate this data effectively.

Example: Matrix Addition

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 56/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

matrix1 = [
[1, 2, 3],
[4, 5, 6]
]
matrix2 = [
[7, 8, 9],
[10, 11, 12]
]

result = [[matrix1[i][j] + matrix2[i][j] for j in


range(len(matrix1[0]))] for i in range(len(matrix1))]

print(result) # Output: [[8, 10, 12], [14, 16, 18]]

Summary

Nested lists provide a powerful way to handle multi-dimensional data in


Python. They offer flexibility in representing complex data structures,
making them useful for various applications such as data analysis, matrix
operations, and more.

Suggested Programs

Here are some suggested programs to work with lists in Python, focusing on
finding maximum, minimum, mean values, performing linear search, and
counting the frequency of elements:

1. Finding the Maximum, Minimum, and Mean of Numeric Values


Stored in a List

Program:

# Define a list of numeric values


numbers = [10, 20, 30, 40, 50]

# Finding the maximum value


max_value = max(numbers)
print(f"Maximum value: {max_value}")

# Finding the minimum value

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 57/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

min_value = min(numbers)
print(f"Minimum value: {min_value}")

# Finding the mean value


mean_value = sum(numbers) / len(numbers)
print(f"Mean value: {mean_value}")

Explanation:

max() returns the largest number in the list.


min() returns the smallest number in the list.
The mean is calculated by dividing the sum of the numbers by the count
of the numbers.

2. Linear Search on a List of Numbers

Program:

def linear_search(lst, target):


for index, value in enumerate(lst):
if value == target:
return index # Return the index of the target value
return -1 # Return -1 if the target is not found

# Define a list and the target value


numbers = [5, 3, 7, 1, 9]
target = 7

# Perform linear search


index = linear_search(numbers, target)
if index != -1:
print(f"Target {target} found at index {index}.")
else:
print(f"Target {target} not found in the list.")

Explanation:

The linear_search() function iterates through the list and checks if each
element matches the target value. It returns the index if found or -1 if not.

3. Counting the Frequency of Elements in a List

Program:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 58/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

from collections import Counter

# Define a list with some repeated elements


numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]

# Count the frequency of each element


frequency = Counter(numbers)

# Print the frequency of each element


for number, count in frequency.items():
print(f"Number {number} appears {count} times.")

Explanation:

The Counter class from the collections module helps count the occurrences
of each element in the list. It returns a dictionary-like object where keys
are list elements and values are their counts.

Summary

These programs provide practical ways to work with lists in Python. Finding
maximum, minimum, and mean values helps analyze numeric data. Linear
search is a basic searching technique to locate elements, while counting
frequencies can be useful for understanding the distribution of values. These
exercises build foundational skills for handling and processing list data in
various programming scenarios.

Dictionary

Introduction to Dictionaries

In Python, a dictionary is a built-in data type that stores data in key-value


pairs. Think of it like a real-world dictionary where you look up a word (key)
to find its definition (value). This structure allows for fast lookups, additions,
and modifications of data.

Example of a Dictionary:

# Creating a dictionary
student = {
"name": "John Doe",
"age": 16,
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 59/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

"grade": "11th",
"subjects": ["Math", "Science", "English"]
}

In this dictionary:

"name", "age", "grade", and "subjects" are keys.


"John Doe", 16, "11th", and ["Math", "Science", "English"] are their respective
values.

Accessing Items in a Dictionary Using Keys

To access the values stored in a dictionary, you use the keys. Here’s how you
can do it:

Example:

# Accessing values using keys


print(student["name"]) # Output: John Doe
print(student["age"]) # Output: 16
print(student["subjects"]) # Output: ['Math', 'Science', 'English']

Explanation:

student["name"] retrieves the value associated with the key "name", which is
"John Doe".
Similarly, student["age"] gets the age, and student["subjects"] returns the
list of subjects.

Handling Missing Keys

If you try to access a key that doesn't exist in the dictionary, Python will raise
a KeyError. To avoid this, you can use the .get() method, which allows you to
specify a default value if the key is not found.

Example:

# Using get() to handle missing keys


print(student.get("grade", "No grade assigned")) # Output: 11th
print(student.get("address", "Address not found")) # Output: Address
not found

In this example:

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 60/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

student.get("grade") returns the value for "grade" as usual.


student.get("address", "Address not found") returns "Address not found"
because "address" is not a key in the dictionary.

Summary

Dictionaries are a powerful tool in Python for storing and managing data in
key-value pairs. Accessing items is straightforward using the keys, and
handling potential errors is easy with methods like .get(). This flexibility
makes dictionaries ideal for various applications, from simple data storage to
complex data manipulation tasks.

Mutability of a Dictionary

Dictionaries in Python are mutable, which means you can change their
contents after they have been created. This mutability allows you to add
new key-value pairs, modify existing ones, and even delete items as needed.
Adding a New Item
You can add new key-value pairs to a dictionary by simply assigning a value
to a new key. If the key doesn't already exist, it will be created.

Example:

# Creating an initial dictionary


student = {
"name": "John Doe",
"age": 16,
"grade": "11th"
}

# Adding a new item


student["subjects"] = ["Math", "Science", "English"]

print(student)
# Output: {'name': 'John Doe', 'age': 16, 'grade': '11th', 'subjects':
['Math', 'Science', 'English']}

In this example, the key "subjects" is added to the dictionary with its
associated value ["Math", "Science", "English"].

Modifying an Existing Item

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 61/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

To change the value associated with an existing key, simply assign a new
value to that key.

Example:

# Modifying an existing item


student["age"] = 17

print(student)
# Output: {'name': 'John Doe', 'age': 17, 'grade': '11th', 'subjects':
['Math', 'Science', 'English']}

Here, the value of the "age" key is updated from 16 to 17.


Summary
Dictionaries in Python are versatile and allow for easy updates and
additions. By leveraging their mutable nature, you can dynamically manage
and manipulate data. Adding new terms or modifying existing items is
straightforward, making dictionaries a flexible choice for various
programming tasks.

Traversing a Dictionary

Traversing a dictionary means iterating through its keys, values, or key-value


pairs to access or manipulate its contents. This is a common task when you
need to process or display dictionary data.
1. Traversing Keys
You can loop through the keys of a dictionary using a for loop. This allows
you to access each key and use it to get corresponding values.

Example:

# Define a dictionary
student = {
"name": "John Doe",
"age": 16,
"grade": "11th",
"subjects": ["Math", "Science", "English"]
}

# Traversing keys

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 62/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

for key in student:


print(f"Key: {key}")

In this example, the loop iterates through each key in the student dictionary
and prints it.
2. Traversing Values
If you only need to access the values, you can loop through the dictionary’s
values.

Example:

# Traversing values
for value in student.values():
print(f"Value: {value}")

This loop prints each value in the student dictionary.


3. Traversing Key-Value Pairs
To get both keys and values simultaneously, use the .items() method. This
method returns a view object that displays a list of tuples, each containing a
key-value pair.

Example:

# Traversing key-value pairs


for key, value in student.items():
print(f"Key: {key}, Value: {value}")

In this example, each tuple returned by .items() is unpacked into key and
value, which are then printed.
4. Using Dictionary Comprehensions
For more advanced operations, you can use dictionary comprehensions to
create or modify dictionaries based on traversal.

Example:

# Dictionary comprehension to create a new dictionary with uppercased


keys
uppercased_dict = {key.upper(): value for key, value in
student.items()}

print(uppercased_dict)

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 63/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

# Output: {'NAME': 'John Doe', 'AGE': 16, 'GRADE': '11th', 'SUBJECTS':


['Math', 'Science', 'English']}

In this example, the dictionary comprehension creates a new dictionary


where all keys are converted to uppercase.

Built-in Dictionary Functions/Methods

Python dictionaries come with a set of built-in functions and methods that
make it easy to work with key-value pairs. Here’s a rundown of the most
commonly used ones:
1. len()
Returns the number of items (key-value pairs) in the dictionary.

Example:

student = {"name": "John", "age": 16}


print(len(student)) # Output: 2

2. dict()
Creates a new dictionary. It can take keyword arguments or a list of key-
value pairs.

Example:

new_dict = dict(name="Alice", age=18)


print(new_dict) # Output: {'name': 'Alice', 'age': 18}

3. keys()
Returns a view object that displays a list of all the keys in the dictionary.

Example:

keys = student.keys()
print(keys) # Output: dict_keys(['name', 'age'])

4. values()
Returns a view object that displays a list of all the values in the dictionary.

Example:

values = student.values()
print(values) # Output: dict_values(['John', 16])

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 64/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

5. items()
Returns a view object that displays a list of tuples, each containing a key-
value pair.

Example:

items = student.items()
print(items) # Output: dict_items([('name', 'John'), ('age', 16)])

6. get()
Returns the value for the specified key if the key is in the dictionary.
Otherwise, it returns None or a default value if provided.

Example:

print(student.get("name")) # Output: John


print(student.get("grade", "Not Available")) # Output: Not Available

7. update()
Updates the dictionary with key-value pairs from another dictionary or from
an iterable of key-value pairs.

Example:

student.update({"grade": "11th", "school": "High School"})


print(student) # Output: {'name': 'John', 'age': 16, 'grade': '11th',
'school': 'High School'}

8. del
Deletes a specific key-value pair from the dictionary.

Example:

del student["age"]
print(student) # Output: {'name': 'John', 'grade': '11th', 'school':
'High School'}

9. clear()
Removes all items from the dictionary.

Example:

student.clear()
print(student) # Output: {}

10. fromkeys()
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 65/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Creates a new dictionary with specified keys and a default value.

Example:

keys = ["name", "age", "grade"]


new_dict = dict.fromkeys(keys, "unknown")
print(new_dict) # Output: {'name': 'unknown', 'age': 'unknown',
'grade': 'unknown'}

11. copy()
Returns a shallow copy of the dictionary.

Example:

copy_dict = student.copy()
print(copy_dict) # Output: {'name': 'John', 'grade': '11th',
'school': 'High School'}

12. pop()
Removes a specified key and returns its value. If the key is not found, it
raises a KeyError unless a default value is provided.

Example:

name = student.pop("name")
print(name) # Output: John
print(student) # Output: {'grade': '11th', 'school': 'High School'}

13. popitem()
Removes and returns the last key-value pair from the dictionary as a tuple.

Example:

item = student.popitem()
print(item) # Output: ('school', 'High School')
print(student) # Output: {'grade': '11th'}

14. setdefault()
Returns the value of a key if it is in the dictionary. If not, it inserts the key
with a specified default value and returns that value.

Example:

value = student.setdefault("grade", "unknown")


print(value) # Output: 11th

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 66/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

15. max()
Returns the maximum key from the dictionary based on lexicographical
order.

Example:

print(max(student)) # Output: grade (based on lexicographical order


of keys)

16. min()
Returns the minimum key from the dictionary based on lexicographical
order.

Example:

print(min(student)) # Output: grade (based on lexicographical order


of keys)

17. sorted()
Returns a sorted list of the dictionary’s keys.

Example:

sorted_keys = sorted(student)
print(sorted_keys) # Output: ['grade']

Summary

Python dictionaries come equipped with a variety of built-in methods that


simplify many common tasks, from adding and updating items to accessing
and manipulating data. Whether you're looking to explore key-value pairs,
make modifications, or clear the entire dictionary, these functions and
methods make handling dictionary data straightforward and efficient.

Suggested Programs

Here are two simple programs using dictionaries to tackle common tasks:
counting characters and managing employee data.
1. Count the Number of Times a Character Appears in a Given String Using a
Dictionary
This program counts how often each character appears in a string and stores
the counts in a dictionary.
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 67/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Example Program:

def count_characters(input_string):
# Create an empty dictionary to store character counts
char_count = {}

# Loop through each character in the string


for char in input_string:
# If character is already in the dictionary, increment its
count
if char in char_count:
char_count[char] += 1
# If character is not in the dictionary, add it with a count
of 1
else:
char_count[char] = 1

return char_count

# Test the function


text = "hello world"
result = count_characters(text)
print(result) # Output: {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w':
1, 'r': 1, 'd': 1}

Explanation:

The program uses a dictionary char_count to track how many times each
character appears.
It loops through the input_string, updating the count in the dictionary for
each character.

2. Create a Dictionary with Names of Employees, Their Salaries, and Access Them
This program creates a dictionary to store employee names and their
salaries, and then accesses this data.

Example Program:

# Create a dictionary with employee names as keys and salaries as


values
employees = {
"Alice": 55000,
"Bob": 60000,
"Charlie": 70000
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 68/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

# Access and print employee details


def print_employee_salaries(employee_dict):
for name, salary in employee_dict.items():
print(f"Employee: {name}, Salary: ${salary}")

# Test the function


print_employee_salaries(employees)

Explanation:

The dictionary employees maps employee names to their respective


salaries.
The print_employee_salaries function iterates through the dictionary using
.items() to print each employee’s name and salary.

Introduction to Python Modules


Python modules are a great way to organize and reuse code across different
programs. Think of a module as a file containing Python code that defines
functions, classes, and variables you can use in your own programs. By
importing these modules, you can make use of their functionality without
having to rewrite code.
Importing a Module Using import <module>
When you use the import statement, you're telling Python to load a module
so you can use its functions, classes, or variables. For example:

import math

# Using a function from the math module


result = math.sqrt(16)
print(result) # Output: 4.0

In this example:

import math loads the math module.


You access functions in the math module using the dot notation
(math.sqrt()), where sqrt is a function that calculates the square root of a
number.

Using From Statement to Import Specific Components

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 69/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

If you only need specific functions or variables from a module, you can use
the from <module> import <item> syntax. This approach makes your code
cleaner and more efficient by importing only what you need.

from math import sqrt, pi

# Using the imported functions and variables directly


result = sqrt(25)
print(result) # Output: 5.0

print(pi) # Output: 3.141592653589793

In this example:

from math import sqrt, pi imports only the sqrt function and pi constant
from the math module.
You can then use sqrt() and pi directly without prefixing them with math.

Importing and Using the Math Module

The math module in Python provides various mathematical functions and


constants that make it easier to perform complex calculations. By importing
the math module, you gain access to functions and constants such as pi, e,

and mathematical functions like sqrt(), ceil(), and sin(). Here’s a quick guide
on how to use these features:
Importing the Math Module
First, you need to import the math module:

import math

Using Constants
math.pi: The mathematical constant π (pi), approximately equal to
3.14159.
math.e: The mathematical constant e, approximately equal to 2.71828.

Example:

import math

print("Value of pi:", math.pi) # Output: Value of pi:


3.141592653589793

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 70/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

print("Value of e:", math.e) # Output: Value of e:


2.718281828459045

Using Functions
math.sqrt(x): Returns the square root of x.

print("Square root of 16:", math.sqrt(16)) # Output: Square root


of 16: 4.0

math.ceil(x): Returns the smallest integer greater than or equal to x.

print("Ceiling of 4.2:", math.ceil(4.2)) # Output: Ceiling of 4.2:


5

math.floor(x): Returns the largest integer less than or equal to x.

print("Floor of 4.7:", math.floor(4.7)) # Output: Floor of 4.7: 4

math.pow(x, y): Returns x raised to the power of y.

print("2 to the power of 3:", math.pow(2, 3)) # Output: 2 to the


power of 3: 8.0

math.fabs(x): Returns the absolute value of x.

print("Absolute value of -5.3:", math.fabs(-5.3)) # Output:


Absolute value of -5.3: 5.3

math.sin(x), math.cos(x), math.tan(x): Return the sine, cosine, and tangent of


x (where x is in radians).

import math

angle = math.pi / 4 # 45 degrees in radians


print("Sine of 45 degrees:", math.sin(angle)) # Output: Sine of 45
degrees: 0.7071067811865475
print("Cosine of 45 degrees:", math.cos(angle)) # Output: Cosine
of 45 degrees: 0.7071067811865476
print("Tangent of 45 degrees:", math.tan(angle)) # Output: Tangent
of 45 degrees: 0.9999999999999999

Summary
The math module is a powerful toolkit for performing mathematical
operations in Python. By importing it, you can utilize constants like pi and e,
and functions for arithmetic, trigonometric, and other calculations. Whether

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 71/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

you're solving complex equations or just need basic mathematical


operations, the math module simplifies the process.

Using the Random and Statistics Modules


Python provides built-in modules like random and statistics to handle various
tasks related to randomness and statistical analysis. Here’s how you can use
these modules to simplify your programming tasks.

Random Module

The random module includes functions to generate random numbers and


perform random operations. Here's a look at some of its useful functions:

random.random(): Returns a random floating-point number between 0.0 and


1.0.
Example:

import random

print("Random number between 0 and 1:", random.random())


# Output: Random number between 0 and 1: 0.37444887175646646
(varies)

random.randint(a, b): Returns a random integer between a and b (inclusive).


Example:

import random

print("Random integer between 1 and 10:", random.randint(1, 10))


# Output: Random integer between 1 and 10: 7 (varies)

random.randrange(start, stop, step): Returns a randomly selected element


from the range created by start, stop, and step.
Example:

import random

print("Random number from range 1 to 10:", random.randrange(1, 10,


2))
# Output: Random number from range 1 to 10: 7 (varies)

Statistics Module

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 72/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

The statistics module is used for statistical operations and includes


functions to compute various statistical metrics:

statistics.mean(data): Returns the average (mean) of the data set.


Example:

import statistics

data = [2, 4, 6, 8, 10]


print("Mean of data:", statistics.mean(data))
# Output: Mean of data: 6

statistics.median(data): Returns the middle value (median) of the data set.


Example:

import statistics

data = [1, 3, 5, 7, 9]
print("Median of data:", statistics.median(data))
# Output: Median of data: 5

statistics.mode(data): Returns the most frequently occurring value (mode)


in the data set. Note: If there's no unique mode, it raises a StatisticsError.
Example:

import statistics

data = [1, 1, 2, 3, 4]
print("Mode of data:", statistics.mode(data))
# Output: Mode of data: 1

Summary
The random and statistics modules are invaluable tools in Python for dealing
with random number generation and statistical calculations. The random

module helps you generate random numbers for simulations and games,
while the statistics module lets you easily compute common statistical
measures like the mean, median, and mode. Whether you're doing data
analysis or just adding some randomness to your programs, these modules
provide a straightforward approach to handle these tasks.

Conclusion

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 73/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

In conclusion, Python for Class XI equips you with the essential


programming skills needed to excel in computer science. By mastering the
basics of variables, loops, and functions, you'll build a strong foundation that
will serve you well in your future studies.

With this knowledge, you're not only prepared for your exams but also
ready to take on more advanced coding challenges. Keep practicing, and
you'll continue to grow as a confident and capable programmer.

Comment More info Advertise with us Next Article


CBSE Class 12 Syllabus 2024-25:
Subject-wise PDF Download

Similar Reads
Class 12 Computer Science Notes

CBSE Class 12th Computer Science Unit 1 Notes: Computational Thinking and
Programming
CBSE Class 12th Unit 1: Computational Thinking and Programming is a crucial part of the curriculum for
Class 12th students, as outlined in the latest CBSE 2024-25 syllabus. This unit is designed to provide a…
15+ min read

CBSE Class 12th Computer Science Unit 2 Notes: Computer Networks


CBSE Class 12th Computer Science Unit 2 Notes: Computer Networks provides a thorough overview of
essential networking concepts for Class 12th students. Our notes cover everything according to the late…
15+ min read

CBSE Class 12th Computer Science Unit 3 Notes: Database Management


Welcome to our comprehensive CBSE Class 12th Computer Science Unit III Notes on Database
Management. According to the latest CBSE guidelines, this unit contributes 30 marks to the CS board…
15+ min read

Python Notes Class 11 - Computer Science


In Python for Class XI, you'll explore the fundamentals of programming with Python, tailored specifically
for Class XI students. This article breaks down key concepts such as variables, loops, and functions,…
15+ min read

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 74/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

CBSE Class 12 Syllabus 2024-25: Subject-wise PDF Download


CBSE Class 12 Syllabus2024-25 has been released by the Central Board of Secondary Education(CBSE).
Students can now download the subject-wise syllabus for CBSE Class 12. This year, CBSE has updated…
15+ min read

CBSE Study Material 2024-25 PDF Download


The Central Board of Secondary Education (CBSE) is one of the most respected and esteemed educational
boards in India. CBSE board offer a comprehensive and healthy education to all its students so that they…
5 min read

CBSE Class 12 Maths Notes: Chapter Wise Notes PDF 2024


Mathematics is an important subject in CBSE Class 12th Board Exam. There is a common
misunderstanding among students that Math is a complex subject. If students will plan their preparation…
15+ min read

CBSE Class 12 Physics Notes 2023-24


CBSE Class 12 Physics Notes are an essential part of the study material for any student wanting to pursue
a career in engineering or a related field. Physics is the subject that helps us understand our surroundings…
10 min read

CBSE Class 12 Chemistry Notes


CBSE Class 12 Chemistry Notes: Chemistry is an important subject in CBSE Class 12th. It is a very scoring
exam in board exam as well as IIT JEE entrance. By taking help of this CBSE Class 12th Chemistry notes,…
9 min read

CBSE Class 12 Business Studies Notes


Business Studies is a study of how to control and manage an organization effectively and efficiently. After
providing the basic knowledge about Business Studies in Class 11 Notes, GeeksforGeeks has designed…
9 min read

CBSE Class 12 Macroeconomics Notes


Macroeconomics deals with the study of the national economy as a whole. In Class 11th notes, we covered
the study of individuals through microeconomics, now we will learn about the whole economy through…
6 min read

CBSE Class 12 Indian Economic Development Notes


Economic Development is a wider concept than economic growth and deals with the programs, activities,
and policies that aim at improving the economic well-being and quality of life of a country. GeeksforGeek…
7 min read

CBSE Class 12 Accountancy Notes


Accountancy is a practice through which business transactions are recorded, classified, and reported for
the proper and successful running of an organization. GeeksforGeeks Class 12 Accountancy Notes have…
15 min read

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 75/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks

Corporate & Communications Address:


A-143, 7th Floor, Sovereign Corporate
Tower, Sector- 136, Noida, Uttar Pradesh
(201305)

Registered Address:
K 061, Tower K, Gulshan Vivante
Apartment, Sector 137, Noida, Gautam
Buddh Nagar, Uttar Pradesh, 201305

Advertise with us

Company Languages
About Us Python
Legal Java
Privacy Policy C++
In Media PHP
Contact Us GoLang
Advertise with us SQL
GFG Corporate Solution R Language
Placement Training Program Android Tutorial
Tutorials Archive

DSA Data Science & ML


Data Structures Data Science With Python
Algorithms Data Science For Beginner
DSA for Beginners Machine Learning
Basic DSA Problems ML Maths
DSA Roadmap Data Visualisation
Top 100 DSA Interview Problems Pandas
DSA Roadmap by Sandeep Jain NumPy
All Cheat Sheets NLP
Deep Learning

Web Technologies Python Tutorial


HTML Python Programming Examples
CSS Python Projects
JavaScript Python Tkinter
TypeScript Python Web Scraping
ReactJS OpenCV Tutorial
NextJS Python Interview Question
https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 76/77
7/13/25, 8:39 AM Python Notes Class 11 - Computer Science - GeeksforGeeks
Bootstrap Django
Web Design

Computer Science DevOps


Operating Systems Git
Computer Network Linux
Database Management System AWS
Software Engineering Docker
Digital Logic Design Kubernetes
Engineering Maths Azure
Software Development GCP
Software Testing DevOps Roadmap

System Design Inteview Preparation


High Level Design Competitive Programming
Low Level Design Top DS or Algo for CP
UML Diagrams Company-Wise Recruitment Process
Interview Guide Company-Wise Preparation
Design Patterns Aptitude Preparation
OOAD Puzzles
System Design Bootcamp
Interview Questions

School Subjects GeeksforGeeks Videos


Mathematics DSA
Physics Python
Chemistry Java
Biology C++
Social Science Web Development
English Grammar Data Science
Commerce CS Subjects
World GK

@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved

https://www.geeksforgeeks.org/computer-science-fundamentals/cbse-class-11-computational-thinking-and-programming/#introduction-to-pytho… 77/77

You might also like