I think, that it's useful to take some easy exercises, for better understanding of algorithnms, and programming ways. So, i like to make some exercises for yourself, when I am learn something, and here is some of them:
You are need to make some function, that takes argument 'day', and return array with days of the week, starting from given day. Example:
def dayOfTheWeek(day: 'string'): week = ["Monday", "Tuesday", "Wednsday", "Thursday", "Friday", "Saturday", "Sunday"] index = week.index(day) # Days from index to end of array + Days from start of array to index return week[index:] + week[:index] # ['Friday', 'Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednsday', 'Thursday'] print(dayOfTheWeek('Friday'))
Sometimes it's really useful algorithm, like it's used in my web-application for weather.
This is a famous fact, that Microsoft made really simple validation algorithm for their old software, like Microsoft Windows and Office. So, i think it's a great chance to make program, that validate, or generate keys.
All you need is explained in this article, but if in short, any key, that in sum of it's digits gives (keysum MOD 7 = 0) is valid.
You also can make a GUI interface, like i do for my validator: GitHub.
SQL is not necessary for today's programming. Anyway, it's funny, that this language first of all being created for average users of computers, that work in companies, but not programmers. So it's also good to try make some things with it.
You can learn a basic SQL on Python Docs and SQLite Docs.
It's also can be good to just understand, how RegExp works. You can find good tutorial on Python HOWTO, and Wikipedia.
CSV - it's simple tables format, and i think, it's a good thing to try create your own reader. Example CSV file looks like this:
ID,Product,Price,Notes, 0,Banan,15,, 1,Pineapple,30,, 2,Mango,25,, 3,"Plush Toy",70,, 4,Tea,100,"The best drink in the world!",Quotes and delimiter can be replaced by any other character, like tabulation, underscore, and etc...
['ID', 'Product', 'Price', 'Notes'] ['0', 'Banan', '15', ''] ['1', 'Pineapple', '30', ''] ['2', 'Mango', '25', ''] ['3', 'Plush Toy', '70', ''] ['4', 'Tea', '100', 'The best drink in the world!']