The goal of this project is to introduce you to the fundamentals of Python programming with a focus on data science.
Python is a high-level, interpreted programming language known for its simplicity and readability. It is widely used in web development, automation, and data science. In this training program, you will learn the essentials of Python and apply them to various exercises designed to strengthen your problem-solving skills.
- Your functions should not quit unexpectedly (segmentation fault, bus error, double free, etc.), except in cases of undefined behavior. If this happens, your project will be considered non-functional and will receive a 0 during the evaluation.
- You must use Python 3.10.
- Global variables are not allowed.
- All your code must follow the PEP8 guidelines (use
flake8for linting). - Your Python scripts should always include a
main()function. - Each function must include a documentation string (
__doc__).
You will go through several exercises, each covering key concepts in Python:
-
Exercise 00: First Python Script
- Print "Hello World" and customize messages based on location.
-
Exercise 01: Formatting Time
- Work with timestamps and format dates.
-
Exercise 02: Object Types
- Identify Python data types and return a specific integer.
-
Exercise 03: Handling Null Values
- Detect
None,NaN, and other falsy values.
- Detect
-
Exercise 04: Even or Odd
- Create a script that checks if a number is even or odd.
-
Exercise 05: Character Counting
- Analyze a given string for different character types.
-
Exercise 06: Custom Filter Function
- Recreate Python’s built-in
filter()function using list comprehensions.
- Recreate Python’s built-in
-
Exercise 07: Morse Code Translator
- Convert text to Morse code using dictionaries.
-
Exercise 08: Custom Progress Bar
- Implement a Python generator mimicking
tqdm.
- Implement a Python generator mimicking
-
Exercise 09: Python Package Creation
- Build and distribute your own Python package.
- Your work must be submitted in the assigned Git repository.
- Only the content inside your repository will be graded.
- Peer evaluation and automated tests will be used to assess your work.
Use your brain and happy coding! 🚀