Consider the following Python code:
```python x = 15 if x > 10: print('First Block') elif x > 5: print('Second Block') else: print('Third Block') ``` What will be the output when this code is executed?
```python x = 15 if x > 10: print('First Block') elif x > 5: print('Second Block') else: print('Third Block') ``` What will be the output when this code is executed?
Anonymous Quiz
0%
First Block
0%
Second Block
0%
Third Block
0%
Error
🚀 Python Day 5 is here, and it's all about making your code work smarter, not harder! Today, we're unlocking the power of *loops*. Loops (`for` and `while`) are fundamental for automating repetitive tasks and iterating through data. Get ready to write efficient and concise code! Let's loop into it! ✨
---
```python
# --- For Loop Example (iterating over a list) ---
print("--- For Loop Example ---")
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(f"I love {fruit}!")
print("n--- Another For Loop (with range) ---")
# range(start, stop, step) generates a sequence of numbers
# range(3) generates 0, 1, 2
for i in range(3):
print(f"Iteration {i + 1}")
# --- While Loop Example (repeating based on a condition) ---
print("n--- While Loop Example ---")
num = 0
while num < 4: # Loop as long as num is less than 4
print(f"Current number: {num}")
num += 1 # Increment num; crucial to avoid an infinite loop!
```
---
Output example:
```
--- For Loop Example ---
I love apple!
I love banana!
I love cherry!
--- Another For Loop (with range) ---
Iteration 1
Iteration 2
Iteration 3
--- While Loop Example ---
Current number: 0
Current number: 1
Current number: 2
Current number: 3
```
---
### Your Turn! 💡
Create a Python script that:
1. Prints numbers from 1 to 5 using a `for` loop.
2. Calculates and prints the sum of numbers from 1 to 10 using a `while` loop.
Share your solutions! 👇
---
---
```python
# --- For Loop Example (iterating over a list) ---
print("--- For Loop Example ---")
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(f"I love {fruit}!")
print("n--- Another For Loop (with range) ---")
# range(start, stop, step) generates a sequence of numbers
# range(3) generates 0, 1, 2
for i in range(3):
print(f"Iteration {i + 1}")
# --- While Loop Example (repeating based on a condition) ---
print("n--- While Loop Example ---")
num = 0
while num < 4: # Loop as long as num is less than 4
print(f"Current number: {num}")
num += 1 # Increment num; crucial to avoid an infinite loop!
```
---
Output example:
```
--- For Loop Example ---
I love apple!
I love banana!
I love cherry!
--- Another For Loop (with range) ---
Iteration 1
Iteration 2
Iteration 3
--- While Loop Example ---
Current number: 0
Current number: 1
Current number: 2
Current number: 3
```
---
### Your Turn! 💡
Create a Python script that:
1. Prints numbers from 1 to 5 using a `for` loop.
2. Calculates and prints the sum of numbers from 1 to 10 using a `while` loop.
Share your solutions! 👇
---
What will happen if the condition in a `while` loop never evaluates to `False`?
Anonymous Quiz
0%
The loop will execute only once.
0%
The loop will become an infinite loop.
0%
Python will automatically exit the loop after 100 iterations.
0%
The program will stop with a syntax error.
🚀 **Python Learning Series - Day 6: Functions in Python!** 🚀
Hello Python learners! Today we're diving into one of the most fundamental concepts in programming: **Functions**! 💡 Functions help us write reusable, organized, and readable code. Instead of repeating the same logic, we can encapsulate it in a function and call it whenever needed. Get ready to streamline your code and make it much more powerful! Let's explore how to define and use them. ✍️
```python
# 1. Defining a simple function
def greet_user(name):
"""This function greets the user with their name."""
print(f"Hello, {name}! Welcome to Day 6 of our Python series.")
# 2. Defining a function that returns a value
def calculate_sum(num1, num2):
"""This function takes two numbers and returns their sum."""
return num1 + num2
# 3. Defining a function with a default parameter
def display_message(message="Keep learning Python!"):
"""This function displays a message, with a default if none is provided."""
print(message)
# Calling our functions
greet_user("Coding Enthusiast")
sum_result = calculate_sum(10, 25)
print(f"The sum of 10 and 25 is: {sum_result}")
display_message()
display_message("Functions make code modular!")
```
Output example:
```
Hello, Coding Enthusiast! Welcome to Day 6 of our Python series.
The sum of 10 and 25 is: 35
Keep learning Python!
Functions make code modular!
```
---
🔥 **Small Challenge:**
Create a Python function called `is_even` that takes one integer as an argument. The function should return `True` if the number is even, and `False` if it's odd. Test it with a few numbers! Share your solution in the comments! 👇
---
Hello Python learners! Today we're diving into one of the most fundamental concepts in programming: **Functions**! 💡 Functions help us write reusable, organized, and readable code. Instead of repeating the same logic, we can encapsulate it in a function and call it whenever needed. Get ready to streamline your code and make it much more powerful! Let's explore how to define and use them. ✍️
```python
# 1. Defining a simple function
def greet_user(name):
"""This function greets the user with their name."""
print(f"Hello, {name}! Welcome to Day 6 of our Python series.")
# 2. Defining a function that returns a value
def calculate_sum(num1, num2):
"""This function takes two numbers and returns their sum."""
return num1 + num2
# 3. Defining a function with a default parameter
def display_message(message="Keep learning Python!"):
"""This function displays a message, with a default if none is provided."""
print(message)
# Calling our functions
greet_user("Coding Enthusiast")
sum_result = calculate_sum(10, 25)
print(f"The sum of 10 and 25 is: {sum_result}")
display_message()
display_message("Functions make code modular!")
```
Output example:
```
Hello, Coding Enthusiast! Welcome to Day 6 of our Python series.
The sum of 10 and 25 is: 35
Keep learning Python!
Functions make code modular!
```
---
🔥 **Small Challenge:**
Create a Python function called `is_even` that takes one integer as an argument. The function should return `True` if the number is even, and `False` if it's odd. Test it with a few numbers! Share your solution in the comments! 👇
---
What keyword is used to define a function in Python?
Anonymous Quiz
0%
func
0%
define
0%
def
0%
function
Hey Python learners! 🚀 Welcome to Day 7! Today, we're diving into two super important data structures: **Lists** and **Tuples**! 📚 Both allow you to store collections of items, but they have key differences in how you can modify them. Get ready to organize your data like a pro! 📋 Let's explore!
```python
# Day 7: Lists and Tuples - Organizing Your Data!
# --- Lists: Ordered, Mutable Collections (use square brackets []) ---
my_shopping_list = ["Milk", "Bread", "Eggs"]
print(f"Original List: {my_shopping_list}")
# Lists can be changed:
my_shopping_list.append("Butter") # Add an item
print(f"After adding Butter: {my_shopping_list}")
my_shopping_list[1] = "Cereal" # Change an item
print(f"After changing Bread to Cereal: {my_shopping_list}")
# Accessing elements by index
print(f"First item: {my_shopping_list[0]}")
print(f"Last item: {my_shopping_list[-1]}")
# --- Tuples: Ordered, Immutable Collections (use parentheses ()) ---
# Tuples are often used for fixed collections, like coordinates or RGB colors.
my_coordinates = (10.5, 20.3)
my_rgb_color = (255, 0, 0) # Red color
print(f"nOriginal Tuple (Coordinates): {my_coordinates}")
print(f"Original Tuple (RGB Color): {my_rgb_color}")
# Tuples cannot be changed after creation.
# If you uncomment the line below, it will cause a TypeError!
# my_coordinates[0] = 12.0 # This would raise an error!
# You can still access elements by index:
print(f"X-coordinate: {my_coordinates[0]}")
# Both Lists and Tuples support slicing!
print(f"Sliced List (first two items): {my_shopping_list[0:2]}")
print(f"Sliced Tuple (first two items): {my_rgb_color[0:2]}")
```
Output example:
```
Original List: ['Milk', 'Bread', 'Eggs']
After adding Butter: ['Milk', 'Bread', 'Eggs', 'Butter']
After changing Bread to Cereal: ['Milk', 'Cereal', 'Eggs', 'Butter']
First item: Milk
Last item: Butter
Original Tuple (Coordinates): (10.5, 20.3)
Original Tuple (RGB Color): (255, 0, 0)
X-coordinate: 10.5
Sliced List (first two items): ['Milk', 'Cereal']
Sliced Tuple (first two items): (255, 0)
```
**Challenge!** 🧠
Can you create a Python list of your 3 favorite fruits, then change the second fruit to something else, and finally convert that list into a tuple? Share your code snippet!
---
```python
# Day 7: Lists and Tuples - Organizing Your Data!
# --- Lists: Ordered, Mutable Collections (use square brackets []) ---
my_shopping_list = ["Milk", "Bread", "Eggs"]
print(f"Original List: {my_shopping_list}")
# Lists can be changed:
my_shopping_list.append("Butter") # Add an item
print(f"After adding Butter: {my_shopping_list}")
my_shopping_list[1] = "Cereal" # Change an item
print(f"After changing Bread to Cereal: {my_shopping_list}")
# Accessing elements by index
print(f"First item: {my_shopping_list[0]}")
print(f"Last item: {my_shopping_list[-1]}")
# --- Tuples: Ordered, Immutable Collections (use parentheses ()) ---
# Tuples are often used for fixed collections, like coordinates or RGB colors.
my_coordinates = (10.5, 20.3)
my_rgb_color = (255, 0, 0) # Red color
print(f"nOriginal Tuple (Coordinates): {my_coordinates}")
print(f"Original Tuple (RGB Color): {my_rgb_color}")
# Tuples cannot be changed after creation.
# If you uncomment the line below, it will cause a TypeError!
# my_coordinates[0] = 12.0 # This would raise an error!
# You can still access elements by index:
print(f"X-coordinate: {my_coordinates[0]}")
# Both Lists and Tuples support slicing!
print(f"Sliced List (first two items): {my_shopping_list[0:2]}")
print(f"Sliced Tuple (first two items): {my_rgb_color[0:2]}")
```
Output example:
```
Original List: ['Milk', 'Bread', 'Eggs']
After adding Butter: ['Milk', 'Bread', 'Eggs', 'Butter']
After changing Bread to Cereal: ['Milk', 'Cereal', 'Eggs', 'Butter']
First item: Milk
Last item: Butter
Original Tuple (Coordinates): (10.5, 20.3)
Original Tuple (RGB Color): (255, 0, 0)
X-coordinate: 10.5
Sliced List (first two items): ['Milk', 'Cereal']
Sliced Tuple (first two items): (255, 0)
```
**Challenge!** 🧠
Can you create a Python list of your 3 favorite fruits, then change the second fruit to something else, and finally convert that list into a tuple? Share your code snippet!
---
Which of the following Python data structures is *mutable* (meaning its elements can be changed after creation)?
Anonymous Quiz
0%
List
0%
Tuple
0%
String
0%
Boolean
Here's your Telegram post and quiz question!
---
🎉 **Day 8: Dictionaries and Sets!** 🎉
Hello, Python learners! 👋 Today, we're diving into two incredibly versatile data structures: Dictionaries and Sets! 📚
* **Dictionaries** store data in `key: value` pairs, perfect for retrieving specific information quickly, much like looking up a word in a physical dictionary. 🔑
* **Sets** are unordered collections of *unique* items. They're super useful for keeping track of distinct elements and performing mathematical set operations like union or intersection. 💡
Let's explore how to use them! 👇
```python
# --- Dictionaries ---
print("--- Dictionaries ---")
# Creating a dictionary for a student's profile
student_profile = {
"name": "Alex",
"age": 22,
"major": "Computer Science",
"courses": ["Python Basics", "Web Development"]
}
print(f"Student Name: {student_profile['name']}")
print(f"Student Age (using .get()): {student_profile.get('age', 'N/A')}") # Safe access
# Modifying an existing value
student_profile["age"] = 23
# Adding a new key-value pair
student_profile["gpa"] = 3.9
print("nUpdated Student Profile:")
for key, value in student_profile.items():
print(f"- {key}: {value}")
# --- Sets ---
print("n--- Sets ---")
# Creating a set from a list with duplicates
numbers_list = [10, 20, 20, 30, 40, 40, 10, 50]
unique_numbers = set(numbers_list)
print(f"Original list: {numbers_list}")
print(f"Unique numbers (set): {unique_numbers}") # Order is not guaranteed
# Adding an element to a set
unique_numbers.add(60)
unique_numbers.add(20) # Adding an existing element has no effect
print(f"Set after adding 60: {unique_numbers}")
# Set operations
set_a = {1, 2, 3, 4, 5}
set_b = {4, 5, 6, 7, 8}
print(f"nSet A: {set_a}")
print(f"Set B: {set_b}")
print(f"Union (A | B): {set_a.union(set_b)}") # All unique elements from both
print(f"Intersection (A & B): {set_a.intersection(set_b)}") # Common elements
print(f"Difference (A - B): {set_a.difference(set_b)}") # Elements in A but not in B
```
Output example:
```
--- Dictionaries ---
Student Name: Alex
Student Age (using .get()): 23
Updated Student Profile:
- name: Alex
- age: 23
- major: Computer Science
- courses: ['Python Basics', 'Web Development']
- gpa: 3.9
--- Sets ---
Original list: [10, 20, 20, 30, 40, 40, 10, 50]
Unique numbers (set): {50, 20, 40, 10, 30}
Set after adding 60: {50, 20, 40, 10, 60, 30}
Set A: {1, 2, 3, 4, 5}
Set B: {4, 5, 6, 7, 8}
Union (A | B): {1, 2, 3, 4, 5, 6, 7, 8}
Intersection (A & B): {4, 5}
Difference (A - B): {1, 2, 3}
```
**Small challenge:** 🧠
Your turn! Create a dictionary called `book_details` for your favorite book, including its `title`, `author`, and `year`. Then, create a set called `unique_genres` with a few genres and add a new genre to it! Share your code snippets in the comments! 👇
---
---
🎉 **Day 8: Dictionaries and Sets!** 🎉
Hello, Python learners! 👋 Today, we're diving into two incredibly versatile data structures: Dictionaries and Sets! 📚
* **Dictionaries** store data in `key: value` pairs, perfect for retrieving specific information quickly, much like looking up a word in a physical dictionary. 🔑
* **Sets** are unordered collections of *unique* items. They're super useful for keeping track of distinct elements and performing mathematical set operations like union or intersection. 💡
Let's explore how to use them! 👇
```python
# --- Dictionaries ---
print("--- Dictionaries ---")
# Creating a dictionary for a student's profile
student_profile = {
"name": "Alex",
"age": 22,
"major": "Computer Science",
"courses": ["Python Basics", "Web Development"]
}
print(f"Student Name: {student_profile['name']}")
print(f"Student Age (using .get()): {student_profile.get('age', 'N/A')}") # Safe access
# Modifying an existing value
student_profile["age"] = 23
# Adding a new key-value pair
student_profile["gpa"] = 3.9
print("nUpdated Student Profile:")
for key, value in student_profile.items():
print(f"- {key}: {value}")
# --- Sets ---
print("n--- Sets ---")
# Creating a set from a list with duplicates
numbers_list = [10, 20, 20, 30, 40, 40, 10, 50]
unique_numbers = set(numbers_list)
print(f"Original list: {numbers_list}")
print(f"Unique numbers (set): {unique_numbers}") # Order is not guaranteed
# Adding an element to a set
unique_numbers.add(60)
unique_numbers.add(20) # Adding an existing element has no effect
print(f"Set after adding 60: {unique_numbers}")
# Set operations
set_a = {1, 2, 3, 4, 5}
set_b = {4, 5, 6, 7, 8}
print(f"nSet A: {set_a}")
print(f"Set B: {set_b}")
print(f"Union (A | B): {set_a.union(set_b)}") # All unique elements from both
print(f"Intersection (A & B): {set_a.intersection(set_b)}") # Common elements
print(f"Difference (A - B): {set_a.difference(set_b)}") # Elements in A but not in B
```
Output example:
```
--- Dictionaries ---
Student Name: Alex
Student Age (using .get()): 23
Updated Student Profile:
- name: Alex
- age: 23
- major: Computer Science
- courses: ['Python Basics', 'Web Development']
- gpa: 3.9
--- Sets ---
Original list: [10, 20, 20, 30, 40, 40, 10, 50]
Unique numbers (set): {50, 20, 40, 10, 30}
Set after adding 60: {50, 20, 40, 10, 60, 30}
Set A: {1, 2, 3, 4, 5}
Set B: {4, 5, 6, 7, 8}
Union (A | B): {1, 2, 3, 4, 5, 6, 7, 8}
Intersection (A & B): {4, 5}
Difference (A - B): {1, 2, 3}
```
**Small challenge:** 🧠
Your turn! Create a dictionary called `book_details` for your favorite book, including its `title`, `author`, and `year`. Then, create a set called `unique_genres` with a few genres and add a new genre to it! Share your code snippets in the comments! 👇
---
What is the primary characteristic that distinguishes a Python set from a list?
Anonymous Quiz
0%
A. Sets can only store numbers, while lists can store any data type.
0%
B. Sets maintain the order of elements, while lists do not.
0%
C. Sets cannot be modified after creation, while lists can.
0%
D. Sets only store unique elements, while lists can contain duplicates.
Here's your Telegram post and quiz for Day 9: String Manipulation!
---
✨ **Day 9: String Manipulation!** ✨
Strings are fundamental in Python – they're how we handle all kinds of text data! From simple messages to complex parsing, mastering string manipulation is a crucial skill. Today, we'll dive into some powerful ways to play with text: slicing, changing cases, replacing parts, and more. Get ready to transform your text like a pro! 🚀
```python
# Our main string
message = " Python is Fun and Powerful! "
print(f"Original: '{message}'")
print(f"Length: {len(message)}")
# Stripping whitespace
stripped_message = message.strip()
print(f"Stripped: '{stripped_message}'")
# Uppercase and Lowercase
print(f"Uppercase: '{stripped_message.upper()}'")
print(f"Lowercase: '{stripped_message.lower()}'")
# Slicing
# [start:end] (end is exclusive)
print(f"First 6 chars (slice): '{stripped_message[0:6]}'")
# [start:] (from start to end)
print(f"Word 'Fun' (slice): '{stripped_message[12:15]}'")
# [:-n] (all but the last n chars)
print(f"Last 9 chars (slice): '{stripped_message[-9:]}'")
# Replacing text
new_message = stripped_message.replace("Fun", "Awesome")
print(f"Replaced: '{new_message}'")
# Combining concepts (f-string with methods)
version = 3.10
final_output = f"Python {version} is truly {new_message.lower().split(' and ')[0]}!"
print(f"Combined F-string: '{final_output}'")
```
Output example:
```
Original: ' Python is Fun and Powerful! '
Length: 32
Stripped: 'Python is Fun and Powerful!'
Uppercase: 'PYTHON IS FUN AND POWERFUL!'
Lowercase: 'python is fun and powerful!'
First 6 chars (slice): 'Python'
Word 'Fun' (slice): 'Fun'
Last 9 chars (slice): 'Powerful!'
Replaced: 'Python is Awesome and Powerful!'
Combined F-string: 'python 3.10 is truly awesome!'
```
💪 **Challenge Time!**
Given the string `quote = "Never give up!"`.
1. Use string slicing to extract the word 'give'.
2. Print 'give' in uppercase.
3. Count how many times the letter 'e' appears in the original `quote` string.
Share your solutions below! 👇
---
---
✨ **Day 9: String Manipulation!** ✨
Strings are fundamental in Python – they're how we handle all kinds of text data! From simple messages to complex parsing, mastering string manipulation is a crucial skill. Today, we'll dive into some powerful ways to play with text: slicing, changing cases, replacing parts, and more. Get ready to transform your text like a pro! 🚀
```python
# Our main string
message = " Python is Fun and Powerful! "
print(f"Original: '{message}'")
print(f"Length: {len(message)}")
# Stripping whitespace
stripped_message = message.strip()
print(f"Stripped: '{stripped_message}'")
# Uppercase and Lowercase
print(f"Uppercase: '{stripped_message.upper()}'")
print(f"Lowercase: '{stripped_message.lower()}'")
# Slicing
# [start:end] (end is exclusive)
print(f"First 6 chars (slice): '{stripped_message[0:6]}'")
# [start:] (from start to end)
print(f"Word 'Fun' (slice): '{stripped_message[12:15]}'")
# [:-n] (all but the last n chars)
print(f"Last 9 chars (slice): '{stripped_message[-9:]}'")
# Replacing text
new_message = stripped_message.replace("Fun", "Awesome")
print(f"Replaced: '{new_message}'")
# Combining concepts (f-string with methods)
version = 3.10
final_output = f"Python {version} is truly {new_message.lower().split(' and ')[0]}!"
print(f"Combined F-string: '{final_output}'")
```
Output example:
```
Original: ' Python is Fun and Powerful! '
Length: 32
Stripped: 'Python is Fun and Powerful!'
Uppercase: 'PYTHON IS FUN AND POWERFUL!'
Lowercase: 'python is fun and powerful!'
First 6 chars (slice): 'Python'
Word 'Fun' (slice): 'Fun'
Last 9 chars (slice): 'Powerful!'
Replaced: 'Python is Awesome and Powerful!'
Combined F-string: 'python 3.10 is truly awesome!'
```
💪 **Challenge Time!**
Given the string `quote = "Never give up!"`.
1. Use string slicing to extract the word 'give'.
2. Print 'give' in uppercase.
3. Count how many times the letter 'e' appears in the original `quote` string.
Share your solutions below! 👇
---
What will be the output of the following Python code?
```python
text = "Hello, World!" new_text = text.replace("World", "Python").replace("!", "!!!") print(new_text) ```
```python
text = "Hello, World!" new_text = text.replace("World", "Python").replace("!", "!!!") print(new_text) ```
Anonymous Quiz
0%
Hello, Python!
0%
Hello, Python!!!
0%
Hello, World!!!
0%
Hello, Python
🎉 *Day 10: Unlocking File I/O in Python!* 📂
Ever wondered how to save data beyond your program's runtime? Today, we're diving into **File Input/Output (I/O)**! You'll learn to read from, write to, and append data in files using Python. It's crucial for logging, data persistence, and so much more. We'll use the `open()` function and the super handy `with` statement for safe file handling. Get ready to make your programs remember! ✍️
```python
import os
# Define file name
file_name = 'my_notes.txt'
# --- Writing to a file (will create if not exists, overwrite if exists) ---
print("--- Writing to 'my_notes.txt' ---")
with open(file_name, 'w') as file:
file.write("Python File I/O is fun!n")
file.write("This is the first line written.n")
file.write("And this is the second line written.n")
print("Content written successfully.n")
# --- Appending to a file (will add to the end) ---
print("--- Appending to 'my_notes.txt' ---")
with open(file_name, 'a') as file:
file.write("Appending new content here.n")
file.write("Don't forget the newline character for new lines!n")
print("Content appended successfully.n")
# --- Reading from a file (reads entire content) ---
print("--- Reading 'my_notes.txt' (Full Content) ---")
with open(file_name, 'r') as file:
full_content = file.read() # Reads the entire file as a single string
print("nFull Content:n", full_content)
# --- Reading from a file line by line ---
print("--- Reading 'my_notes.txt' (Line by Line) ---")
with open(file_name, 'r') as file:
print("nContent Line by Line:")
for line in file: # Iterates over lines in the file
print(f"Line: {line.strip()}") # .strip() removes trailing newline characters
# Optional: Clean up the created file
# os.remove(file_name)
# print(f"n'{file_name}' has been removed.")
```
Output example:
```
--- Writing to 'my_notes.txt' ---
Content written successfully.
--- Appending to 'my_notes.txt' ---
Content appended successfully.
--- Reading 'my_notes.txt' (Full Content) ---
Full Content:
Python File I/O is fun!
This is the first line written.
And this is the second line written.
Appending new content here.
Don't forget the newline character for new lines!
--- Reading 'my_notes.txt' (Line by Line) ---
Content Line by Line:
Line: Python File I/O is fun!
Line: This is the first line written.
Line: And this is the second line written.
Line: Appending new content here.
Line: Don't forget the newline character for new lines!
```
💡 **Small Challenge:**
Modify the reading part of the code to:
1. Read only the **first 3 lines** of `my_notes.txt` using `readlines()`.
2. Count how many lines in the file contain the word "line" (case-insensitive).
Share your solutions or questions below! 👇
---
Ever wondered how to save data beyond your program's runtime? Today, we're diving into **File Input/Output (I/O)**! You'll learn to read from, write to, and append data in files using Python. It's crucial for logging, data persistence, and so much more. We'll use the `open()` function and the super handy `with` statement for safe file handling. Get ready to make your programs remember! ✍️
```python
import os
# Define file name
file_name = 'my_notes.txt'
# --- Writing to a file (will create if not exists, overwrite if exists) ---
print("--- Writing to 'my_notes.txt' ---")
with open(file_name, 'w') as file:
file.write("Python File I/O is fun!n")
file.write("This is the first line written.n")
file.write("And this is the second line written.n")
print("Content written successfully.n")
# --- Appending to a file (will add to the end) ---
print("--- Appending to 'my_notes.txt' ---")
with open(file_name, 'a') as file:
file.write("Appending new content here.n")
file.write("Don't forget the newline character for new lines!n")
print("Content appended successfully.n")
# --- Reading from a file (reads entire content) ---
print("--- Reading 'my_notes.txt' (Full Content) ---")
with open(file_name, 'r') as file:
full_content = file.read() # Reads the entire file as a single string
print("nFull Content:n", full_content)
# --- Reading from a file line by line ---
print("--- Reading 'my_notes.txt' (Line by Line) ---")
with open(file_name, 'r') as file:
print("nContent Line by Line:")
for line in file: # Iterates over lines in the file
print(f"Line: {line.strip()}") # .strip() removes trailing newline characters
# Optional: Clean up the created file
# os.remove(file_name)
# print(f"n'{file_name}' has been removed.")
```
Output example:
```
--- Writing to 'my_notes.txt' ---
Content written successfully.
--- Appending to 'my_notes.txt' ---
Content appended successfully.
--- Reading 'my_notes.txt' (Full Content) ---
Full Content:
Python File I/O is fun!
This is the first line written.
And this is the second line written.
Appending new content here.
Don't forget the newline character for new lines!
--- Reading 'my_notes.txt' (Line by Line) ---
Content Line by Line:
Line: Python File I/O is fun!
Line: This is the first line written.
Line: And this is the second line written.
Line: Appending new content here.
Line: Don't forget the newline character for new lines!
```
💡 **Small Challenge:**
Modify the reading part of the code to:
1. Read only the **first 3 lines** of `my_notes.txt` using `readlines()`.
2. Count how many lines in the file contain the word "line" (case-insensitive).
Share your solutions or questions below! 👇
---
What is the primary advantage of using the `with open(...)` statement for file operations in Python?
Anonymous Quiz
0%
It automatically closes the file, even if errors occur.
100%
It makes the file read-only, preventing accidental writes.
0%
It encrypts the file content for security.
0%
It opens the file in binary mode by default.
🎉 Day 11: Error Handling (try, except) 🎉
Ever had your Python script crash unexpectedly? 💥 It's frustrating, right? Today, we're diving into *Error Handling* using `try` and `except` blocks! 🛡️
These powerful tools allow your programs to gracefully manage errors and exceptions, preventing crashes and providing a smoother user experience. Instead of stopping dead, your code can catch the error and respond intelligently. Let's make our code more robust! 💪
```python
print("--- Day 11: Error Handling (try, except) ---")
def safely_get_integer_input():
try:
# Code that might raise an error goes here
user_input = input("Please enter an integer: ")
number = int(user_input) # This might raise a ValueError
print(f"Successfully processed: {number} 🎉")
except ValueError:
# This block executes ONLY if a ValueError occurs in the 'try' block
print("Oops! That's not a valid integer. Please try again. 🤔")
except Exception as e: # A general catch-all for other unexpected errors
# This block catches any other type of error not specifically handled
print(f"An unexpected error occurred: {e} 🐛")
finally:
# The 'finally' block always executes, regardless of whether an error occurred
print("Execution of the input block finished.")
# Example 1: Successful run
print("n--- Scenario 1: Valid Input ---")
safely_get_integer_input()
# Example 2: Error run
print("n--- Scenario 2: Invalid Input ---")
safely_get_integer_input()
# A quick look at another common error type: ZeroDivisionError
print("n--- Quick Example: Division ---")
try:
result = 10 / 0 # This will raise a ZeroDivisionError
print(result)
except ZeroDivisionError:
print("Error: You tried to divide by zero! 🚫")
except Exception as e:
print(f"An unexpected error in division: {e} 😬")
```
Output example:
```
--- Day 11: Error Handling (try, except) ---
--- Scenario 1: Valid Input ---
Please enter an integer: 42
Successfully processed: 42 🎉
Execution of the input block finished.
--- Scenario 2: Invalid Input ---
Please enter an integer: hello_world
Oops! That's not a valid integer. Please try again. 🤔
Execution of the input block finished.
--- Quick Example: Division ---
Error: You tried to divide by zero! 🚫
```
### Small Challenge:
Your Challenge: Modify the `safely_get_integer_input` function to keep asking for input until a valid integer is provided. (Hint: Think about loops! 😉) Share your solution!
---
Ever had your Python script crash unexpectedly? 💥 It's frustrating, right? Today, we're diving into *Error Handling* using `try` and `except` blocks! 🛡️
These powerful tools allow your programs to gracefully manage errors and exceptions, preventing crashes and providing a smoother user experience. Instead of stopping dead, your code can catch the error and respond intelligently. Let's make our code more robust! 💪
```python
print("--- Day 11: Error Handling (try, except) ---")
def safely_get_integer_input():
try:
# Code that might raise an error goes here
user_input = input("Please enter an integer: ")
number = int(user_input) # This might raise a ValueError
print(f"Successfully processed: {number} 🎉")
except ValueError:
# This block executes ONLY if a ValueError occurs in the 'try' block
print("Oops! That's not a valid integer. Please try again. 🤔")
except Exception as e: # A general catch-all for other unexpected errors
# This block catches any other type of error not specifically handled
print(f"An unexpected error occurred: {e} 🐛")
finally:
# The 'finally' block always executes, regardless of whether an error occurred
print("Execution of the input block finished.")
# Example 1: Successful run
print("n--- Scenario 1: Valid Input ---")
safely_get_integer_input()
# Example 2: Error run
print("n--- Scenario 2: Invalid Input ---")
safely_get_integer_input()
# A quick look at another common error type: ZeroDivisionError
print("n--- Quick Example: Division ---")
try:
result = 10 / 0 # This will raise a ZeroDivisionError
print(result)
except ZeroDivisionError:
print("Error: You tried to divide by zero! 🚫")
except Exception as e:
print(f"An unexpected error in division: {e} 😬")
```
Output example:
```
--- Day 11: Error Handling (try, except) ---
--- Scenario 1: Valid Input ---
Please enter an integer: 42
Successfully processed: 42 🎉
Execution of the input block finished.
--- Scenario 2: Invalid Input ---
Please enter an integer: hello_world
Oops! That's not a valid integer. Please try again. 🤔
Execution of the input block finished.
--- Quick Example: Division ---
Error: You tried to divide by zero! 🚫
```
### Small Challenge:
Your Challenge: Modify the `safely_get_integer_input` function to keep asking for input until a valid integer is provided. (Hint: Think about loops! 😉) Share your solution!
---