diff --git a/readme.md b/readme.md index 8e0efcb..52c1a99 100644 --- a/readme.md +++ b/readme.md @@ -1,112 +1,133 @@ -# Python course -This repository contains some notes and exercises for learning python3. +Table of Contents +================= -## Initiation to programming +* [What we'll learn](./learning_python3.md#what-well-learn) + * [Concepts](./learning_python3.md#concepts) + * [Syntax](./learning_python3.md#syntax) + * [Tools](./learning_python3.md#tools) + * [Writing code](./learning_python3.md#writing-code) + * [Running code](./learning_python3.md#running-code) +* [The python3 shell](./learning_python3.md#the-python3-shell) +* [Installing pycharm](./learning_python3.md#installing-pycharm) + * [Virtual environments](./learning_python3.md#virtual-environments) +* [Your first project](./learning_python3.md#your-first-project) + * [c#](./learning_python3.md#c) + * [c](./learning_python3.md#c-1) + * [c++](./learning_python3.md#c-2) + * [javascript](./learning_python3.md#javascript) + * [How to execute](./learning_python3.md#how-to-execute) + * [Simple printing](./learning_python3.md#simple-printing) + * [Try it](./learning_python3.md#-try-it) + * [Try it](./learning_python3.md#-try-it-1) + * [String replacement](./learning_python3.md#string-replacement) + * [String formatting](./learning_python3.md#string-formatting) + * [Some links to read up](./learning_python3.md#some-links-to-read-up) +* [Taking input](./learning_python3.md#taking-input) + * [Some functions are blocking](./learning_python3.md#some-functions-are-blocking) + * [Functions can return something](./learning_python3.md#functions-can-return-something) + * [Try it](./learning_python3.md#-try-it-2) + * [Functions can take arguments](./learning_python3.md#functions-can-take-arguments) + * [Try it](./learning_python3.md#-try-it-3) +* [Taking input and evaluation](./learning_python3.md#taking-input-and-evaluation) + * [Conditional logic](./learning_python3.md#conditional-logic) + * [Class string methods](./learning_python3.md#class-string-methods) + * [Try it](./learning_python3.md#-try-it-4) + * [Some links to read up on](./learning_python3.md#some-links-to-read-up-on) +* [Coding challenge - Currency converter](./learning_python3.md#coding-challenge---currency-converter) +* [Coding challenge - Celsius to Fahrenheit converter](./learning_python3.md#coding-challenge---celsius-to-fahrenheit-converter) + * [Some links to read up on](./learning_python3.md#some-links-to-read-up-on-1) +* [A text based adventure game](./learning_python3.md#a-text-based-adventure-game) +* [Creating your own functions](./learning_python3.md#creating-your-own-functions) + * [Functions that do something](./learning_python3.md#functions-that-do-something) + * [Variable scope](./learning_python3.md#variable-scope) + * [Functions that return something](./learning_python3.md#functions-that-return-something) + * [Try it](./learning_python3.md#-try-it-5) + * [Some links to read up on](./learning_python3.md#some-links-to-read-up-on-2) +* [Coding challenge - Pretty Print](./learning_python3.md#coding-challenge---pretty-print) +* [Using the standard library](./learning_python3.md#using-the-standard-library) +* [Coding challenge - Memento Mori calculator](./learning_python3.md#coding-challenge---memento-mori-calculator) +* [Writing your first library](./learning_python3.md#writing-your-first-library) + * [Try it](./learning_python3.md#-try-it-6) + * [How do we write libraries?](./learning_python3.md#how-do-we-write-libraries) + * [What is __name__ == "__main__"?](./learning_python3.md#what-is-__name__--__main__) + * [Anatomy of a program](./learning_python3.md#anatomy-of-a-program) + * [Try it](./learning_python3.md#-try-it-7) +* [While loop](./learning_python3.md#while-loop) + * [Try it](./learning_python3.md#-try-it-8) +* [Coding challenge - Guess the number](./learning_python3.md#coding-challenge---guess-the-number) + * [Try it](./learning_python3.md#-try-it-9) +* [Logical Operators](./learning_python3.md#logical-operators) +* [Lists](./learning_python3.md#lists) + * [Creating lists](./learning_python3.md#creating-lists) + * [List methods](./learning_python3.md#list-methods) + * [Try it](./learning_python3.md#-try-it-10) + * [Picking elements and slicing lists](./learning_python3.md#picking-elements-and-slicing-lists) + * [Try it](./learning_python3.md#-try-it-11) +* [For loop](./learning_python3.md#for-loop) +* [Coding challenge - Cheerleader chant](./learning_python3.md#coding-challenge---cheerleader-chant) +* [Coding challenge - ROT13](./learning_python3.md#coding-challenge---rot13) + * [Try it](./learning_python3.md#-try-it-12) +* [Coding challenge - Christmas Tree](./learning_python3.md#coding-challenge---christmas-tree) +* [List comprehension](./learning_python3.md#list-comprehension) +* [Handling files](./learning_python3.md#handling-files) + * [Reading from a file](./learning_python3.md#reading-from-a-file) + * [In-line way](./learning_python3.md#in-line-way) + * [Pythonic way](./learning_python3.md#pythonic-way) + * [Writing to a file](./learning_python3.md#writing-to-a-file) +* [Coding challenge - Login generator](./learning_python3.md#coding-challenge---login-generator) +* [Dictionaries as data containers](./learning_python3.md#dictionaries-as-data-containers) + * [Two dimensional lists](./learning_python3.md#two-dimensional-lists) + * [Dictionaries](./learning_python3.md#dictionaries) + * [Try it](./learning_python3.md#-try-it-13) +* [Coding challenge - Task manager](./learning_python3.md#coding-challenge---task-manager) + * [CSV based task manager](./learning_python3.md#csv-based-task-manager) +* [Text based databases](./learning_python3.md#text-based-databases) + * [Try it](./learning_python3.md#-try-it-14) +* [Now for some useful scripting](./learning_python3.md#now-for-some-useful-scripting) +* [Creating our own objects](./learning_python3.md#creating-our-own-objects) + * [First some abstract examples](./learning_python3.md#first-some-abstract-examples) + * [Try it](./learning_python3.md#-try-it-15) + * [Magic methods](./learning_python3.md#magic-methods) + * [Class inheritance](./learning_python3.md#class-inheritance) + * [Try it](./learning_python3.md#-try-it-16) +* [Coding challenge - Chalet floor](./learning_python3.md#coding-challenge---chalet-floor) + * [Now some practical improvements](./learning_python3.md#now-some-practical-improvements) + * [Improve the login generator](./learning_python3.md#improve-the-login-generator) + * [Improve the task manager](./learning_python3.md#improve-the-task-manager) +* [Infinite programs](./learning_python3.md#infinite-programs) + * [Logic breakdown of a simple game](./learning_python3.md#logic-breakdown-of-a-simple-game) + * [A non object orientated solution](./learning_python3.md#a-non-object-orientated-solution) + * [An object orientated solution](./learning_python3.md#an-object-orientated-solution) + * [Trivial pursuit multiple choice game](./learning_python3.md#trivial-pursuit-multiple-choice-game) + * [Introduction to the requests library](./learning_python3.md#introduction-to-the-requests-library) + * [Threading](./learning_python3.md#threading) -* Day 1 - * What we'll learn - * Concepts - * Syntax - * Tools - * Writing code - * Running code - * The python3 shell - * Installing pycharm - * Your first project - * c - * c - * c++ - * javascript - * How to execute - * Simple printing - * 🏃 Try it - * 🏃 Try it - * String replacement - * String formatting - * Some links to read up - * Taking input - * Some functions are blocking - * Functions can return something - * 🏃 Try it - * Functions can take arguments - * 🏃 Try it - * Taking input and evaluation - * Conditional logic - * Class string methods - * Some links to read up on - * Coding challenge - Celsius to Fahrenheit converter -* Day 2 - * A text based adventure game - * Creating your own functions - * Functions that *do* something - * Variable scope - * Functions that *return* something - * 🏃 Try it - * Some links to read up on - * Coding challenge - Pretty Print - * Using the standard library - * Coding challenge - Memento Mori calculator -* Day 3 - * Writing your first library - * 🏃 Try it - * How do we write libraries? - * What is `__name__ == "__main__"`? - * Anatomy of a program - * 🏃 Try it - * While loop - * 🏃 Try it - * Coding challenge - Guess the number - * 🏃 Try it -* Day 4 - * Lists - * Creating lists - * List methods - * 🏃 Try it - * Picking elements and slicing lists - * 🏃 Try it - * For loop - * Coding challenge - Cheerleader chant - * Coding challenge - ROT13 - * 🏃 Try it - * List comprehension -* Day 5 - * Handling files - * Reading from a file - * In-line way - * Pythonic way - * Writing to a file - * Coding challenge - Login generator - * Dictionaries as data containers - * Coding challenge - Task manager - * Text based databases -* Day 6 - * Now for some useful scripting -* Day 7 - * Creating our own objects - * First some *abstract* examples - * 🏃 Try it - * Class inheritance - * 🏃 Try it - * A *practical* example - * Now some *practical* improvements - * Improve the login generator - * Improve the task manager -* Day 8 - * Infinite programs - * Logic breakdown of a simple game - * Trivial pursuit multiple choice game - * Introduction to the `requests` library - * Threading -* Day 9 - * GUI programming - * Tkinter helloworld - * Tkinter guess the number - * MVC design pattern -* Day 10-12 - * Coding challenge - Login generator with GUI - * Coding challenge - Trivial pursuit with GUI -## Linux system administrator +Table of Contents +================= + +* [tkinter](./learning_python3_gui.md#tkinter) + * [Tkinter helloworld](./learning_python3_gui.md#tkinter-helloworld) + * [Try it](./learning_python3_gui.md#-try-it) +* [Coding challenge - Guess the number](./learning_python3_gui.md#coding-challenge---guess-the-number) + * [MVC design pattern](./learning_python3_gui.md#mvc-design-pattern) + * [Coding challenge - Login generator with GUI](./learning_python3_gui.md#coding-challenge---login-generator-with-gui) + * [Coding challenge - Trivial pursuit with GUI](./learning_python3_gui.md#coding-challenge---trivial-pursuit-with-gui) +* [WXpython](./learning_python3_gui.md#wxpython) + * [wxpython helloworld](./learning_python3_gui.md#wxpython-helloworld) + * [wxpython guess the number](./learning_python3_gui.md#wxpython-guess-the-number) + * [MVC design pattern](./learning_python3_gui.md#mvc-design-pattern-1) + * [Coding challenge - Login generator with GUI](./learning_python3_gui.md#coding-challenge---login-generator-with-gui-1) + * [Coding challenge - Trivial pursuit with GUI](./learning_python3_gui.md#coding-challenge---trivial-pursuit-with-gui-1) + +Table of Contents +================= + +* [Git](./learning_git.md#git) + * [Git in Pycharm](./learning_git.md#git-in-pycharm) + * [Starting a version controlled project](./learning_git.md#starting-a-version-controlled-project) + * [Creating an online repository](./learning_git.md#creating-an-online-repository) + * [Cloning the remote project into a new project](./learning_git.md#cloning-the-remote-project-into-a-new-project) + * [Updating the original project](./learning_git.md#updating-the-original-project) -**TODO**