Showing posts with label Python. Show all posts
Showing posts with label Python. Show all posts

Wednesday 28 August 2024

Developing AI Applications with Python and Flask

 


What you'll learn

Describe the steps and processes involved in creating a Python application including the application development lifecycle 

Create Python modules, run unit tests, and package applications while ensuring the PEP8 coding best practices

Explain the features of Flask and deploy applications on the web using the Flask framework

Create and deploy an AI-based application onto a web server using IBM Watson AI Libraries and Flask

Join Free: Developing AI Applications with Python and Flask

There are 3 modules in this course

This mini course is intended to apply basic Python skills for developing Artificial Intelligence (AI) enabled applications. In this hands-on project you will assume the role of a developer and perform tasks including:  

- Develop functions and application logic 
- Exchange data using Watson AI libraries
- Write unit tests, and 
- Package the application for distribution. 

You will demonstrate your foundational Python skills by employing different techniques to develop web applications and AI powered solutions. After completing this course, you will have added another project to your portfolio and gained the confidence to begin developing AI enabled applications using Python and Flask, Watson AI libraries, build and run unit tests, and package the application for distribution out in the real world.

Tuesday 27 August 2024

5 Practical Python Programs Using the Pickle Library

 

1. Saving and Loading a List

This program saves a list to a file and then loads it back.


import pickle


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


with open('list.pkl', 'wb') as file:

    pickle.dump(my_list, file)


with open('list.pkl', 'rb') as file:

    loaded_list = pickle.load(file)


print("Loaded List:", loaded_list)


#source code --> clcoding.com

Loaded List: ['apple', 'banana', 'cherry']



2. Saving and Loading a Dictionary

This program demonstrates saving a dictionary to a file and loading it back.


import pickle


my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}


with open('dict.pkl', 'wb') as file:

    pickle.dump(my_dict, file)


with open('dict.pkl', 'rb') as file:

    loaded_dict = pickle.load(file)


print("Loaded Dictionary:", loaded_dict)


#source code --> clcoding.com

Loaded Dictionary: {'name': 'John', 'age': 30, 'city': 'New York'}



3. Saving and Loading a Custom Object

This program saves an instance of a custom class to a file and loads it back.


import pickle


class Person:

    def __init__(self, name, age):

        self.name = name

        self.age = age


    def __repr__(self):

        return f"Person(name={self.name}, age={self.age})"


person = Person('Alice', 25)


with open('person.pkl', 'wb') as file:

    pickle.dump(person, file)


with open('person.pkl', 'rb') as file:

    loaded_person = pickle.load(file)


print("Loaded Person:", loaded_person)


#source code --> clcoding.com

Loaded Person: Person(name=Alice, age=25)



4. Saving and Loading a Tuple

This program saves a tuple to a file and loads it back.


import pickle


my_tuple = (10, 20, 30, 'Hello')


with open('tuple.pkl', 'wb') as file:

    pickle.dump(my_tuple, file)


with open('tuple.pkl', 'rb') as file:

    loaded_tuple = pickle.load(file)


print("Loaded Tuple:", loaded_tuple)


#source code --> clcoding.com

Loaded Tuple: (10, 20, 30, 'Hello')



5. Saving and Loading Multiple Objects

This program saves multiple objects to a single file and loads them back.


import pickle


list_data = [1, 2, 3]

dict_data = {'a': 1, 'b': 2}

string_data = "Hello, World!"


with open('multiple.pkl', 'wb') as file:

    pickle.dump(list_data, file)

    pickle.dump(dict_data, file)

    pickle.dump(string_data, file)


with open('multiple.pkl', 'rb') as file:

    loaded_list = pickle.load(file)

    loaded_dict = pickle.load(file)

    loaded_string = pickle.load(file)


print("Loaded List:", loaded_list)

print("Loaded Dictionary:", loaded_dict)

print("Loaded String:", loaded_string)


#source code --> clcoding.com

Loaded List: [1, 2, 3]

Loaded Dictionary: {'a': 1, 'b': 2}

Loaded String: Hello, World!


7 Lesser-Known Python Techniques about Lists

 

1. Flatten a Nested List

Flatten a deeply nested list into a single list of elements.


from collections.abc import Iterable


def flatten(lst):

    for item in lst:

        if isinstance(item, Iterable) and not isinstance(item, str):

            yield from flatten(item)

        else:

            yield item


nested_list = [1, [2, 3, [4, 5]], 6]

flat_list = list(flatten(nested_list))

print(flat_list)  

[1, 2, 3, 4, 5, 6]


2. List of Indices for Specific Value

Get all indices of a specific value in a list.


lst = [10, 20, 10, 30, 10, 40]

indices = [i for i, x in enumerate(lst) if x == 10]

print(indices) 

[0, 2, 4]

3. Transpose a List of Lists (Matrix)

Transpose a matrix-like list (switch rows and columns).


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

transposed = list(map(list, zip(*matrix)))

print(transposed)  

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



4. Rotate a List

Rotate the elements of a list by n positions.


def rotate(lst, n):

    return lst[-n:] + lst[:-n]


lst = [1, 2, 3, 4, 5]

rotated_lst = rotate(lst, 2)

print(rotated_lst) 

[4, 5, 1, 2, 3]

5. Find Duplicates in a List

Identify duplicate elements in a list.


from collections import Counter


lst = [1, 2, 2, 3, 4, 4, 4, 5]

duplicates = [item for item, count in Counter(lst).items() if count > 1]

print(duplicates)  

[2, 4]


6. Chunk a List

Split a list into evenly sized chunks.


def chunk(lst, n):

    for i in range(0, len(lst), n):

        yield lst[i:i + n]


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

chunks = list(chunk(lst, 3))

print(chunks)  

[[1, 2, 3], [4, 5, 6], [7, 8]]

7. Remove Consecutive Duplicates

Remove consecutive duplicates from a list, preserving order.


from itertools import groupby


lst = [1, 2, 2, 3, 3, 3, 4, 4, 5]

result = [key for key, _ in groupby(lst)]

print(result)  

[1, 2, 3, 4, 5]

Monday 26 August 2024

Barcode using Python

 

pip install python-barcode


import barcode

from barcode.writer import ImageWriter

from IPython.display import Image, display


barcode_format = barcode.get_barcode_class('ean13')


barcode_number = '123456789012'


barcode_image = barcode_format(barcode_number, writer=ImageWriter())


barcode_filename = 'barcode_image'

barcode_image.save(barcode_filename)


display(Image(filename=f'{barcode_filename}.png'))

Sunday 25 August 2024

Color code using Python

 

from webcolors import name_to_hex


def color_name_to_code(color_name):

    try:

        color_code = name_to_hex(color_name)

        return color_code

    except ValueError:

        return None

colorname = input("Enter color name : ")

result_code = color_name_to_code(colorname)

print(result_code)  


from webcolors import hex_to_name


def color_code_to_name(color_code):

    try:

        color_name = hex_to_name(color_code)

        return color_name

    except ValueError:

        return None

colorcode = input("Enter color code : ")

result_name = color_code_to_name(colorcode)

print(result_name)  

Saturday 24 August 2024

Phone Number Handling in Python

 

1. Parse and Format a Phone Number

This program parses a phone number and formats it in the international format.


import phonenumbers

from phonenumbers import PhoneNumberFormat, format_number


phone_number = phonenumbers.parse("+14155552671", "US")


formatted_number = format_number(phone_number, PhoneNumberFormat.INTERNATIONAL)


print(f"Formatted Number: {formatted_number}")

Formatted Number: +1 415-555-2671

2. Validate a Phone Number

This program checks whether a phone number is valid or not.


import phonenumbers


phone_number = phonenumbers.parse("+14155552671", "US")


is_valid = phonenumbers.is_valid_number(phone_number)


print(f"Is the phone number valid? {'Yes' if is_valid else 'No'}")

Is the phone number valid? Yes


3. Get the Location of a Phone Number

This program retrieves the location associated with a phone number.


import phonenumbers

from phonenumbers import geocoder


phone_number = phonenumbers.parse("+14155552671", "US")


location = geocoder.description_for_number(phone_number, "en")


print(f"Location: {location}")


#source Code --> clcoding.com

Location: San Francisco, CA

4. Carrier Detection

This program detects the carrier of a given phone number.


import phonenumbers

from phonenumbers import carrier


phone_number = phonenumbers.parse("+14155552671", "US")


phone_carrier = carrier.name_for_number(phone_number, "en")


print(f"Carrier: {phone_carrier}")


#source Code --> clcoding.com

Carrier: 


5. Time Zone Detection

This program retrieves the time zones associated with a phone number.


import phonenumbers

from phonenumbers import timezone


phone_number = phonenumbers.parse("+14155552671", "US")


time_zones = timezone.time_zones_for_number(phone_number)


print(f"Time Zones: {', '.join(time_zones)}")


#source Code --> clcoding.com

Time Zones: America/Los_Angeles

Fetching and Displaying Periodic Table Data in Python


 Periodic Table Data in Python

pip install chempy


from chempy.util import periodic


n = int(input("Enter number to see the table: "))

print("Atomic No.\tName\t\tSymbol\t\tMass")


for i in range(1, n + 1):

    print(i, end="\t\t")

    if len(periodic.names[i]) > 7:

        print(periodic.names[i], end="\t")

    else:

        print(periodic.names[i], end="\t\t")

    print(periodic.symbols[i], end="\t\t")

    print(periodic.relative_atomic_masses[i])

#source code --> clcoding.com

Atomic No. Name Symbol Mass

1 Helium He 4.002602

2 Lithium Li 6.94

3 Beryllium Be 9.0121831

4 Boron B 10.81

5 Carbon C 12.011

6 Nitrogen N 14.007

7 Oxygen O 15.999

8 Fluorine F 18.998403163

9 Neon Ne 20.1797

10 Sodium Na 22.98976928

11 Magnesium Mg 24.305

12 Aluminium Al 26.9815384

13 Silicon Si 28.085

14 Phosphorus P 30.973761998

15 Sulfur S 32.06

16 Chlorine Cl 35.45

17 Argon Ar 39.95

18 Potassium K 39.0983

19 Calcium Ca 40.078

20 Scandium Sc 44.955908

Friday 23 August 2024

IP Address Manipulation with Python



1. Check if an IP Address is Private

This program checks whether an IP address belongs to a private range.


import ipaddress


def check_private_ip(ip):

    try:

        ip_obj = ipaddress.ip_address(ip)

        return ip_obj.is_private

    except ValueError:

        return False


ip = "192.168.0.1"

print(f"Is {ip} private? {check_private_ip(ip)}")


#source code --> clcoding.com

Is 192.168.0.1 private? True


2. Calculate the Network Range from a CIDR Notation

This program calculates the network range from a given CIDR notation.


import ipaddress


def get_network_range(cidr):

    try:

        network = ipaddress.ip_network(cidr, strict=False)

        return (network.network_address, network.broadcast_address)

    except ValueError:

        return None


cidr = "192.168.1.0/24"

network_range = get_network_range(cidr)

if network_range:

    print(f"Network range: {network_range[0]} - {network_range[1]}")


#source code --> clcoding.com

Network range: 192.168.1.0 - 192.168.1.255


3. Check if an IP Address is in a Specific Network

This program checks if a given IP address is part of a specified network.


import ipaddress


def ip_in_network(ip, network):

    try:

        network_obj = ipaddress.ip_network(network, strict=False)

        ip_obj = ipaddress.ip_address(ip)

        return ip_obj in network_obj

    except ValueError:

        return False


ip = "192.168.1.10"

network = "192.168.1.0/24"

print(f"Is {ip} in network {network}? {ip_in_network(ip, network)}")


#source code --> clcoding.com

Is 192.168.1.10 in network 192.168.1.0/24? True


4. Generate All IP Addresses in a Network

This program generates all possible IP addresses within a given network.


import ipaddress


def generate_ips_in_network(network):

    try:

        network_obj = ipaddress.ip_network(network, strict=False)

        return [str(ip) for ip in network_obj.hosts()]

    except ValueError:

        return []


network = "192.168.1.0/30"

ips = generate_ips_in_network(network)

print(f"IP addresses in {network}: {ips}")


#source code --> clcoding.com

IP addresses in 192.168.1.0/30: ['192.168.1.1', '192.168.1.2']


5. Convert Integer to IPv4 Address

This program converts an integer back to its corresponding IPv4 address.


import ipaddress


def int_to_ipv4(integer):

    try:

        return str(ipaddress.IPv4Address(integer))

    except ValueError:

        return None


ipv4_int = 3232235777

print(f"Integer: {ipv4_int} -> IPv4: {int_to_ipv4(ipv4_int)}")


#source code --> clcoding.com

Integer: 3232235777 -> IPv4: 192.168.1.1

Wireframes and Surface Plots in Python

 

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D


x = np.linspace(-5, 5, 50); y = np.linspace(-5, 5, 50)

X, Y = np.meshgrid(x, y)

Z = np.sin(np.sqrt(X**2 + Y**2))


fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

ax.plot_wireframe(X, Y, Z, color='blue')


ax.set_xlabel('X axis',); ax.set_ylabel('Y axis')

ax.set_zlabel('Z axis')

plt.show()

#source Code --> clcoding.com


import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D


x = np.linspace(-5, 5, 50); y = np.linspace(-5, 5, 50)

X, Y = np.meshgrid(x, y)

Z = np.sin(np.sqrt(X**2 + Y**2))


fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

surface = ax.plot_surface(X, Y, Z, cmap='viridis')

fig.colorbar(surface, ax=ax, shrink=0.5, aspect=5)


ax.set_xlabel('X axis'); ax.set_ylabel('Y axis')

ax.set_zlabel('Z axis')

plt.show()

Wednesday 21 August 2024

10 Essential Use Cases of Python's zip() Function with Examples

 

1. Combining Two Lists

Use case: Merging two lists element-wise.

names = ["Alice", "Bob", "Charlie"]

ages = [25, 30, 35]


combined = list(zip(names, ages))

print(combined)  

[('Alice', 25), ('Bob', 30), ('Charlie', 35)]

2. Unzipping Lists

Use case: Splitting paired data into separate lists.


combined = [('Alice', 25), ('Bob', 30), ('Charlie', 35)]


names, ages = zip(*combined)

print(names)  

print(ages)   

('Alice', 'Bob', 'Charlie')

(25, 30, 35)



3. Iterating Over Multiple Lists Simultaneously

Use case: Useful when you need to iterate through multiple lists at the same time.


subjects = ['Math', 'Science', 'English']

scores = [88, 92, 85]


for subject, score in zip(subjects, scores):

    print(f"{subject}: {score}")

Math: 88

Science: 92

English: 85

4. Creating Dictionaries

Use case: Creating dictionaries from two lists: one for keys, one for values.


keys = ['name', 'age', 'city']

values = ['Alice', 25, 'New York']


dictionary = dict(zip(keys, values))

print(dictionary)  

{'name': 'Alice', 'age': 25, 'city': 'New York'}


5. Combining Multiple Lists

Use case: Zipping more than two lists together.


list1 = [1, 2, 3]

list2 = ['a', 'b', 'c']

list3 = [True, False, True]


combined = list(zip(list1, list2, list3))

print(combined)  

[(1, 'a', True), (2, 'b', False), (3, 'c', True)]

6. Handling Different Length Iterables

Use case: When lists have different lengths, zip() stops at the shortest one.


list1 = [1, 2, 3]

list2 = ['a', 'b']


combined = list(zip(list1, list2))

print(combined)  

[(1, 'a'), (2, 'b')]



7. Working with Ranges

Use case: Zipping together ranges or sequences.


numbers = range(1, 4)

letters = ['a', 'b', 'c']


result = list(zip(numbers, letters))

print(result)  

[(1, 'a'), (2, 'b'), (3, 'c')]

8. Comparing Elements of Two Lists

Use case: Zipping two lists to compare elements.


list1 = [1, 2, 3]

list2 = [1, 4, 3]


comparison = [a == b for a, b in zip(list1, list2)]

print(comparison)

[True, False, True]



9. Transpose a Matrix

Use case: Use zip() to transpose rows and columns of a 2D matrix.


matrix = [

    [1, 2, 3],

    [4, 5, 6],

    [7, 8, 9]

]


transposed = list(zip(*matrix))

print(transposed) 

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

10. Zipping with Enumerate

Use case: Zipping with an enumerated list for indexed pairings.


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

indexed_data = list(zip(range(1, len(data) + 1), data))

print(indexed_data)  

[(1, 'apple'), (2, 'banana'), (3, 'cherry')]

Tuesday 20 August 2024

How to Use Python f-Strings?

 

Basic Usage

Here's a basic example of using f-strings:


name = "Alice"

age = 30


greeting = f"Hello, my name is {name} and I am {age} years old."

print(greeting)

Hello, my name is Alice and I am 30 years old.

Embedding Expressions

You can also embed expressions directly inside f-strings:


length = 5

width = 3


area = f"The area of the rectangle is {length * width} square units."

print(area)

The area of the rectangle is 15 square units.



Formatting Numbers

F-strings also allow you to format numbers:


pi = 3.141592653589793


formatted_pi = f"Pi rounded to two decimal places is {pi:.2f}."

print(formatted_pi)

Pi rounded to two decimal places is 3.14.

Using Functions Inside F-Strings

You can even call functions within an f-string:


def greet(name):

    return f"Hello, {name}!"


message = f"{greet('Alice')}"

print(message)

Hello, Alice!



Multi-line F-Strings

F-strings can also be used with multi-line strings:


name = "Alice"

age = 30


info = (

    f"Name: {name}\n"

    f"Age: {age}\n"

    f"Location: Wonderland"

)

print(info)

Name: Alice

Age: 30

Location: Wonderland



Combining F-Strings with Other String Formatting

F-strings can be combined with other string formatting methods if necessary:


name = "Alice"

age = 30


combined = f"Name: {name}, " + "Age: {}".format(age)

print(combined)

Name: Alice, Age: 30

Monday 19 August 2024

8 Levels of Writing Python Functions

 Level 1: Basic Function Definition

Goal: Learn how to define simple functions with def.


def greet():

    return "Hello, World!"

Concepts: Function definition, return statement, and basic usage.


Level 2: Function Arguments

Goal: Understand how to pass data to functions using arguments.


def greet(name):

    return f"Hello, {name}!"

Concepts: Positional arguments, basic string formatting.


Level 3: Default Arguments

Goal: Use default argument values to make functions more flexible.

def greet(name="World"):

    return f"Hello, {name}!"

Concepts: Default values, handling optional parameters.


Level 4: Variable-Length Arguments

Goal: Handle an arbitrary number of arguments using args and *kwargs.


def greet(*names):

    return "Hello, " + ", ".join(names) + "!"

Concepts: args for positional arguments, *kwargs for keyword arguments.


Level 5: Return Multiple Values

Goal: Return multiple values from a function using tuples.

def divide(a, b):

    quotient = a // b

    remainder = a % b

    return quotient, remainder

    

Concepts: Tuple unpacking, returning multiple values.


Level 6: First-Class Functions

Goal: Treat functions as first-class citizens by passing them as arguments or returning them.


def apply_function(func, value):

    return func(value)


def square(x):

    return x * x


result = apply_function(square, 5)

Concepts: Functions as arguments, higher-order functions.


Level 7: Lambda Functions

Goal: Use lambda expressions for short, unnamed functions.


def apply_function(func, value):

    return func(value)


result = apply_function(lambda x: x * x, 5)

Concepts: Lambda expressions, anonymous functions.


Level 8: Decorators

Goal: Modify the behavior of functions using decorators.

def decorator(func):

    def wrapper(*args, **kwargs):

        print("Before the function")

        result = func(*args, **kwargs)

        print("After the function")

        return result

    return wrapper


@decorator

def greet(name):

    return f"Hello, {name}!"


greet("World")

Before the function

After the function

'Hello, World!'

Concepts: Decorators, wrapping functions, modifying behavior.

Sunday 18 August 2024

Pencil Sketch using Python

 

import cv2

import numpy as np


def pencil_sketch(image_path, output_path):

    image = cv2.imread(image_path)


    gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)


    inverted_gray_image = cv2.bitwise_not(gray_image)


    blurred_image = cv2.GaussianBlur(inverted_gray_image, (21, 21), 0)


    inverted_blurred_image = cv2.bitwise_not(blurred_image)

    pencil_sketch_image = cv2.divide(gray_image, inverted_blurred_image, scale=256.0)

    cv2.imwrite(output_path, pencil_sketch_image)

 

    cv2.imshow('Pencil Sketch', pencil_sketch_image)

    cv2.waitKey(0)

    cv2.destroyAllWindows()


input_image_path = 'w2.jpg'

output_image_path = 'w2_sketch.jpg'

pencil_sketch(input_image_path, output_image_path)

World map using Python

 

pip install cartopy


import cartopy.crs as ccrs

import cartopy.feature as cfeature

import matplotlib.pyplot as plt


projection = ccrs.PlateCarree()


fig, ax = plt.subplots(subplot_kw={'projection': projection})

ax.set_extent([-180, 180, -90, 90], crs=ccrs.PlateCarree())


ax.add_feature(cfeature.LAND, facecolor='lightgray')

ax.add_feature(cfeature.OCEAN, facecolor='lightblue')


ax.gridlines()

plt.show()


Movie Information using Python

 

import imdb


ia = imdb.Cinemagoer()

Movie = input("Enter a movie name: ")

items = ia.search_movie(Movie)

print("\nSearch results:")

for index, movie in enumerate(items):

    print(f"{index + 1}. {movie['title']} ({movie['year']})")


movie_index = int(input("\nEnter the number of the movie you want to get info for: ")) - 1

movie_id = items[movie_index].movieID

movie_info = ia.get_movie(movie_id)


print("\nMovie Information:")

print(f"Title: {movie_info.get('title')}")

print(f"Year: {movie_info.get('year')}")

print(f"Rating: {movie_info.get('rating')}")

print(f"Genres: {', '.join(movie_info.get('genres', []))}")

print(f"Director(s): {', '.join(str(d) for d in movie_info.get('directors', []))}")

print(f"Cast: {', '.join(str(c) for c in movie_info.get('cast', [])[:5])}...") 

print(f"Plot: {movie_info.get('plot outline')}")

print(f"Runtime: {movie_info.get('runtimes', ['N/A'])[0]} minutes")

print(f"Country: {', '.join(movie_info.get('countries', []))}")

print(f"Language: {', '.join(movie_info.get('languages', []))}")


#Source Code --> clcoding.com

Search results:

1. Lift (2024)

2. Elevator to the Gallows (1958)

3. Lift (2021)

4. The Lift (1983)

5. Lift (2001)

6. The Big Lift (1950)

7. Lift (2022)

8. Lift (2016)

9. Lift Off (1992)

10. How Heavy Are the Dumbbells You Lift? (2019)

11. Lift (1989)

12. Lift Me Up (2015)

13. The Lift Boy (2019)

14. Lift (2019)

15. Lift (2017)

16. Lift (2018)

17. The Lift (2022)

18. Lift Off (1969)

19. LIFT (2019)

20. Lift Off (2021)

Movie Information:

Title: Lift

Year: 2024

Rating: 5.5

Genres: Action, Comedy, Crime, Drama, Thriller

Director(s): F. Gary Gray

Cast: Kevin Hart, Gugu Mbatha-Raw, Sam Worthington, Vincent D'Onofrio, Úrsula Corberó...

Plot: Cyrus, an international thief and his crew specialize in stealing extremely costly art pieces and resort to kidnapping if necessary. Cyrus's ex girlfriend Abby, an Interpol agent convinces him to steal a huge consignment of gold being sent by plane from London to Zurich in return for immunity from arrest . Cyrus knows this is an almost impossible task but decides to go ahead since it means freedom for him and his crew not to speak of his getting together with Abby again.

Runtime: 107 minutes

Country: United States

Language: English, Italian

 

Saturday 17 August 2024

Top 5 Python Programs Using demoji for Emoji Processing

 1. Remove Emojis from a Text String

This program removes all emojis from a given text string.


import demoji

text = "Python is fun! 🐍🔥 Let's code! 💻🎉"

cleaned_text = demoji.replace(text, "")

print(cleaned_text)

#source Code --> clcoding.com

Python is fun!  Let's code! 

2. Replace Emojis with Descriptions

This program replaces emojis in a text with their corresponding descriptions.


import demoji

text = "Good morning! ☀️ Have a nice day! 🌸😊"

emojis = demoji.findall(text)

for emoji, description in emojis.items():

    text = text.replace(emoji, f"[{description}]")

print(text)

#source Code --> clcoding.com

Good morning! [sun] Have a nice day! [cherry blossom][smiling face with smiling eyes]

3. Count the Number of Emojis in a Text

This program counts how many emojis are present in a text string.


import demoji

text = "Coding is awesome! 👨‍💻🚀🤓"

emoji_count = len(demoji.findall(text))

print(f"Number of emojis: {emoji_count}")

#source Code --> clcoding.com

Number of emojis: 3

4. Extract All Emojis from a Text

This program extracts all the emojis from a given text string.


import demoji

text = "Enjoy your meal! 🍽️🍕🍔🍟"

emojis = demoji.findall(text)

print("Emojis found:", list(emojis.keys()))

#source Code --> clcoding.com

Emojis found: ['🍕', '🍽️', '🍟', '🍔']

5. Create an Emoji Frequency Dictionary

This program creates a dictionary that maps each emoji in a text to the number of times it appears.


import demoji

text = "I love 🍎 and 🍌. Do you like 🍎 too? 🍎🍎"

emoji_freq = {}

emojis = demoji.findall(text)

for emoji in emojis.keys():

    emoji_freq[emoji] = text.count(emoji)

print("Emoji Frequency:", emoji_freq)

#source Code --> clcoding.com

Emoji Frequency: {'🍌': 1, '🍎': 4}

Friday 16 August 2024

Enhancing Python Scripts with Alive-Progress: 5 Practical Examples

 pip install alive-progress


1. Simple Progress Bar

from alive_progress import alive_bar

import time

items = range(100)

with alive_bar(len(items)) as bar:

    for item in items:

        time.sleep(0.05)  

        bar()

|████████████████████████████████████████| 100/100 [100%] in 5.0s (19.83/s) 

2. Progress Bar with Custom Text

from alive_progress import alive_bar

import time


tasks = ['task1', 'task2', 'task3', 'task4']


with alive_bar(len(tasks), title='Processing Tasks') as bar:

    for task in tasks:

        time.sleep(0.5)  

        bar.text = f'Working on {task}'

        bar()

Processing Tasks |████████████████████████████████████████| 4/4 [100%] in 2.0s (2.00/s) 


3. Nested Progress Bars

from alive_progress import alive_bar

import time

outer_items = range(3)

inner_items = range(5)


with alive_bar(len(outer_items) * len(inner_items), title='Processing') as bar:

    for _ in outer_items:

        for _ in inner_items:

            time.sleep(0.1)  # Simulate work

            bar()

Processing |████████████████████████████████████████| 15/15 [100%] in 1.5s (9.94/s) 



4. Download Simulation with Progress Bar

from alive_progress import alive_bar

import time

file_size = 1024  

chunk_size = 64

with alive_bar(file_size // chunk_size, title='Downloading') as bar:

    for _ in range(0, file_size, chunk_size):

        time.sleep(0.1) 

        bar()

Downloading |████████████████████████████████████████| 16/16 [100%] in 1.6s (9.83/s) 

5. Progress Bar with Percentage and ETA

from alive_progress import alive_bar

import time

total_items = 50

with alive_bar(total_items, title='Processing', 

               spinner='dots_waves', bar='smooth') as bar:

    for _ in range(total_items):

        time.sleep(0.1)  

        bar()

Processing |████████████████████████████████████████| 50/50 [100%] in 5.0s (9.95/s) 

Popular Posts

Categories

AI (31) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (146) C (77) C# (12) C++ (82) Course (67) Coursera (195) Cybersecurity (24) data management (11) Data Science (104) Data Strucures (8) Deep Learning (11) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (20) Hadoop (3) HTML&CSS (47) IBM (25) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (46) Meta (18) MICHIGAN (5) microsoft (4) Pandas (3) PHP (20) Projects (29) Python (872) Python Coding Challenge (281) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (42) UX Research (1) web application (8)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses