This is a step by step guideline for total beginners who wants to learn Python Programming. In this guideline, you will find books to read, tutorials to follow, videos to watch and interactive websites to go with. If you do the following tasks with my advises and explanations you will learn Python faster.
- Fork this repository
- Create a local repository on your computer
- Integrate your local repository with repository that you just forked.
- Pull everything from website to your local repository.
- Fill the radio button when you finished the task and push the changes to your copy of repository.
To be able to make done the tasks change [ ] to [x]...
For finishing this exercise create a repository of your own to write exercises. Use scripting mode if necessary. While you are following the exercises use line comments and multiline comments to take notes, and remind yourself with them. Save each exercises seperately and save it to your repository. After finishing the exercises and saving it to your repository change the corresponding task below [ ] to [X] and commit the changes...
- Exercise 0: The Setup
- Exercise 1: A Good First Program
- Exercise 2: Comments and Pound Characters
- Exercise 2: Comments And Pound Characters
- Exercise 3: Numbers And Math
- Exercise 4: Variables And Names
- Exercise 5: More Variables And Printing
- Exercise 6: Strings And Text
- Exercise 7: More Printing
- Exercise 8: Printing, Printing
- Exercise 9: Printing, Printing, Printing
- Exercise 10: What Was That?
- Exercise 11: Asking Questions
- Exercise 12: Prompting People
- Exercise 13: Parameters, Unpacking, Variables
- Exercise 14: Prompting And Passing
- Exercise 15: Reading Files
- Exercise 16: Reading And Writing Files
- Exercise 17: More Files
- Exercise 18: Names, Variables, Code, Functions
- Exercise 19: Functions And Variables
- Exercise 20: Functions And Files
- Exercise 21: Functions Can Return Something
- Exercise 22: What Do You Know So Far?
- Exercise 23: Read Some Code
- Exercise 24: More Practice
- Exercise 25: Even More Practice
- Exercise 26: Congratulations, Take A Test!
- Exercise 27: Memorizing Logic
- Exercise 28: Boolean Practice
- Exercise 29: What If
- Exercise 30: Else And If
- Exercise 31: Making Decisions
- Exercise 32: Loops And Lists
- Exercise 33: While Loops
- Exercise 34: Accessing Elements Of Lists
- Exercise 35: Branches and Functions
- Exercise 36: Designing and Debugging
- Exercise 37: Symbol Review
- Exercise 38: Doing Things To Lists
- Exercise 39: Dictionaries, Oh Lovely Dictionaries
- Exercise 40: Modules, Classes, And Objects
- Exercise 41: Learning To Speak Object Oriented
- Exercise 42: Is-A, Has-A, Objects, and Classes
- Exercise 43: Gothons From Planet Percal #25
- Exercise 44: Inheritance Vs. Composition
- Exercise 45: You Make A Game
- Exercise 46: A Project Skeleton
- Exercise 47: Automated Testing
- Exercise 48: Advanced User Input
- Exercise 49: Making Sentences
- Exercise 50: Your First Website
- Exercise 51: Getting Input From A Browser
- Exercise 52: The Start Of Your Web Game
For finishing this exercise create a repository of your own to write exercises. Use scripting mode if necessary. While you are following the exercises use line comments and multiline comments to take notes, and remind yourself with them. Save each example seperately and save it to your repository. After finishing the exercises and saving it to your repository change the corresponding task below [ ] to [X] and commit the changes...
- The Way of the Program
- Algorithms
- The Python Programming Language
- Executing Python in this Book
- More About Programs
- What is Debugging?
- Syntax errors
- Runtime Errors
- Semantic Errors
- Experimental Debugging
- Formal and Natural Languages
- A Typical First Program
- Comments
- Glossary
- Variables, Expressions and Statements
- Values and Data Types
- Type conversion functions
- Variables
- Variable Names and Keywords
- Statements and Expressions
- Operators and Operands
- Input
- Order of Operations
- Reassignment
- Updating Variables
- Glossary
- Exercises
- How to be a Successful Programmer
- How to Avoid Debugging
- Beginning tips for Debugging
- Know Your Error Messages
- ParseError
- TypeError
- NameError
- ValueError
- Summary
- Hello Little Turtles!
- Our First Turtle Program
- Instances - A Herd of Turtles
- The for Loop
- Flow of Execution of the for Loop
- Iteration Simplifies our Turtle Program
- The range Function
- A Few More turtle Methods and Observations
- Summary of Turtle Methods
- Glossary
- Exercises
- Modules and Getting Help
- More About Using Modules
- The math module
- The random module
- Glossary
- Exercises
- Functions
- Functions that Return Values
- Variables and Parameters are Local
- The Accumulator Pattern
- Functions can Call Other Functions
- Flow of Execution Summary
- Using a Main Function
- Program Development
- Composition
- A Turtle Bar Chart
- Glossary
- Exercises
- Boolean Values and Boolean Expressions
- Logical operators
- Precedence of Operators
- Conditional Execution: Binary Selection
- Omitting the else Clause: Unary Selection
- Nested conditionals
- Chained conditionals
- Boolean Functions
- Glossary
- Exercises
- Iteration Revisited
- The for loop revisited
- The while Statement
- Randomly Walking Turtles
- The 3n + 1 Sequence
- Newton's Method
- Algorithms Revisited
- Simple Tables
- 2-Dimensional Iteration: Image Processing
- The RGB Color Model
- Image Objects
- Image Processing and Nested Iteration
- Image Processing on Your Own
- Glossary
- Exercises
- Strings Revisited
- A Collection Data Type
- Operations on Strings
- Index Operator: Working with the Characters of a String
- String Methods
- Length
- The Slice Operator
- String Comparison
- Strings are Immutable
- Traversal and the for Loop: By Item
- Traversal and the for Loop: By Index
- Traversal and the while Loop
- The in and not in operators
- The Accumulator Pattern with Strings
- Turtles and Strings and L-Systems
- Looping and Counting
- A find function
- Optional parameters
- Character classification
- Summary
- Glossary
- Exercises
- Lists
- List Values
- List Length
- Accessing Elements
- List Membership
- Concatenation and Repetition
- List Slices
- Lists are Mutable
- List Deletion
- Objects and References
- Aliasing
- Cloning Lists
- Repetition and References
- List Methods
- The Return of L-Systems
- Append versus Concatenate
- Lists and for loops
- Using Lists as Parameters
- Pure Functions
- Which is Better?
- Functions that Produce Lists
- List Comprehensions
- Nested Lists
- Strings and Lists
- list Type Conversion Function
- Tuples and Mutability
- Tuple Assignment
- Tuples as Return Values
- Glossary
- Exercises
- Working with Data Files
- Finding a File on your Disk
- Reading a File
- Iterating over lines in a file
- Alternative File Reading Methods
- Writing Text Files
- Glossary
- Exercises
- Dictionaries
- Dictionary Operations
- Dictionary Methods
- Aliasing and Copying
- Sparse Matrices
- Glossary
- Exercises
- What Is Recursion?
- Calculating the Sum of a List of Numbers
- The Three Laws of Recursion
- Converting an Integer to a String in Any Base
- Visualizing Recursion
- Sierpinski Triangle
- Glossary
- Programming Exercises
- Object-oriented programming
- A change of perspective
- Objects Revisited
- User Defined Classes
- Improving our Constructor
- Adding Other Methods to our Class
- Objects as Arguments and Parameters
- Converting an Object to a String
- Instances as Return Values
- Glossary
- Exercises
- Fractions
- Objects are Mutable
- Sameness
- Arithmetic Methods
- Glossary
- Exercises
- Astronomy Animation
- Turtle Racing Lab
- Drawing a Circle
- Lessons from a Triangle
- Finally a Circle
- Counting Letters
- Letter Count Histogram
- Approximating the Value of Pi
- Python Beyond the Browser
- Experimenting With the 3n+1 Sequence
- Plotting a sine Wave