Skip to content

mathans1695/Python-Practice

Repository files navigation

Python-Practice

Projects and modules that I did during my learning process

Repository for learning and practicing python

I enjoyed a lot creating my own modules

Data Scraper

Navigate to data scraper folder to experience the below four projects:

  • Fundoodata scraper - Program to scrape fundoodata websites for companies details. 1 program visits 100 pages and scraped away 1800 chennai companies data

  • Practice pyxl - Trying out openpyxl module to convert excel files into csv files and also the programs removes duplicates entries (companies in excel file). 22000 companies in excel file got converted into csv file containing 9600 companies after removing duplicates by the program. Used dictionary datastructure to remove duplicates

  • Scraping companies data from html files - Program to scrape companies data from local html files located in the folder 'companies data in html files/10'. Data scraper processed 8542 html files and extracted away 22000 companies data into a csv file

  • Tirupur database scraper - Program to convert an excel file (data.xlsx) containing companies data into a csv file of desired format. Datascraper2.py file will do the job better. The sample.csv file is the output and finished.xlsx is the result of manual processing of sample.csv file

Own Python Module

Navigate to Own Python Module folder to experience the module that I have created during my learning journey:

  • Reversi Game - Module for reversi game and this is my first game I created using python, Reversigame.py module file contains logic of the game and the test.py file will let you use the module to play the game, so use the test.py file to play the game. It's a two player game, so better play with two players. Once you started playing the game, you will figure out the game, because the program will help you to play the game

  • Array - Array like module, you can perform basic array operations using this module. This module also has the capacity to create 2d array

  • Multiarray - Module to create multi-dimensional array, array of any dimensions can be created using this module. Accessing and setting values can be done by passing tuple to getter and setter method like multiarray(2,2,2). This module was created with the help of Array1 module

  • Matrix - Module to perform matrix operations like transposing and scaling the matrix and adding, substracting, and multiplying two matrixes. This module created with the help of Array2D from Array1 module

  • Bag - Bag module, this module basically act like a bag - you can pick things from the bag, put things into the bag and also it has iter dunder method to see what's inside the bag

  • Dict - An upgrade to Bag Module, basically the Bag can have non-unique items and to keep track of non-unique items, this module was created. Eg.) If you have two apples in the bag, this module will tell you that you have two apples in your bag. Here we use Dictionary datastructure to achieve this feature, so I named the module as Dict

  • Bagset - Set module, this Set module was created using the Bag module. This module basically act like a Set, only unique items will be added to the Set and you can perform certain operation on two Sets like comparing two Sets, performing Union, intersection, and Complement operations on Sets

  • LinearSet - This module is same like Bagset module, but this module is created using python list datastructure and it can able to perform all operations mentioned in Bagset module

  • LinearMap - Dictionary like module created using Set and Array module, you can do basic dictionary operations like assign values and access values using key and you can iterate through linearmap using keyArray() method

  • Counter - Counter module to perform counting operation. Create instance and whenever you have a need to count something, call push method to increment the count and if you want to reset the count - call the reset method and if you want to know the current count - call the display method from Counter instances

  • Date - Date module perform basic operations on dates. Date module accepts month, day and year as arguments. Date instances has access to the methods like dayOfWeek(), monthName(), isLeapYear(), numDays(otherDate) - Number of dates between two dates, dayOfWeekName(), dayOfYear(), isWeekDay(), isEquinox(self), isSolstice() and you can compare two dates

  • Time - Module to handle operations on time

  • TimeDate - This module is like datetime module in python and it is a combination of date and time module and can able to perform both operations that data and time module performs

  • Linkedlist - Linked list datastructure - simple linked list datastructure

  • Point - Point module to represent a point(x,y), you can get coordinates of the point and distance between two points

  • Linesegment - Linesegment module can able to perform operations on line - you can determine the length, slope, midpoint of a line and can check whether a line is horizontal or vertical. This module can be used to check whether two lines intersect each other, parallel or perpendicular to each other, bisects each other or intersect at midpoint. This module created with the help of Point module

  • range_iter - Like range function. Specify start and stop, it will iterate from start to stop, when used in for-in loop

  • Studentfile - This module was created to read a csv file, which has students records in it in csv format. This module has StudentFileReader and StudentFileWriter to read the file and write it to text file respectively. Supply the source file and you will get the result in desired format

  • Prime Number - This is helper function file for performing prime numbers operations and it is not a module. You can find list of prime numbers upto the given number, sum of prime numbers, largest prime factors etc... using this module

  • PrintCalendar - This is also a helper function, pass a date object and it will display the calendar of that month. This helper function created with the help of date1 module

  • Vector - This module is in progress, created to deal with vectors

  • life - life is a module for playing gameoflife game and it is still in progress

Project Euler

Navigate to project euler folder to see the problems solved from the project euler website

30 problems solved and some problems have more than one solutions and the instruction.txt file contains algorithm, implementation and asymptotic analysis for every approach for that particular problem.

Learn Python the Hard Way Exercises

Navigate to learn the hard way exercises to see the exercises finished from the book. This is the first book I read to learn python.

Codeforces

Navigate to codeforces to see some of the problems I solved from the codeforces website

Practice

All the other folders are for practice purpose. Program I did to learn python concepts clearly during my learning journey

About

Repository for practicing and learning python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages