Git Product home page Git Product logo

snekilings's Introduction

๐Ÿ Snakelings

Learn Python the right way. By actually writing code and solving problems!


Warning

This project is a work in progress so it is not complete yet.

The problem.

Learning Python involves actually doing things practically; sitting down and watching YouTube tutorial after another won't get you anywhere. Beginners tend to fall into this, we even have a name for it, Tutorial ๐Ÿ”ฅ Hell. Tutorials are good for getting to know the basics but that's where I believe you should stop, and begin actually writing code.

๐Ÿ Snakelings helps with ๐ŸŒŸ that. ๐Ÿ Snakelings provides a set of short exercises to immerse you into developing and debugging Python code. Inspired by Rustlings, each exercise in Snakelings has intentional faults designed to expose you to as many Python exceptions and errors as possible. ๐Ÿ Snakelings bridges the gap between the theoretical and practical coding knowledge by providing a real environment.

TODO

Todo has been moved over here --> #10


more readme coming soon...

snekilings's People

Contributors

thegoldenpro avatar r3tr0ananas avatar bicheka avatar

Stargazers

kiyo avatar

Watchers

 avatar

snekilings's Issues

Indicate the progress to the user

Add an indication of some type, after the readme has been printed, to inform the user what exercise they are currently at and how far they have until completing everything.

Maybe a visual indication too. ๐Ÿค”

TODO

Here's an always updating list of exercises and features we must implement to get this project cooking.

Note

This issue is always being updated and added upon, so these tasks don't indicate the completeness of this project.

Features

  • Print markdown to terminal.
  • Pytest integration (some exercises will make use of pytest to test the answers/values)
  • Command to update exercises folder with new exercises.

Exercises to implement.

This list is heavily inspired by Rustlings, in fact most of the exercises are basically from Rustlings.

Whatever is in brackets are notes. If you see the letter "E", it is referring to "Exercise" so whatever number comes after that is the exercise id we are referring to.

  • Fix this print statement. (after E1)
  • Print "Hello, World!" from scratch. (no prior code given, should be after E1)
  • Assign a string with the value "Hello" to this variable. (below the variable should be printed with a random name, should be after E3)
  • Change this number into a string. (after E4)

Add beginner friendly install and usage instructions to readme.

As the title says we must add some install and usage instructions to the readme, however they must be well written and obvious as many beginner developers will be reading and relying on theses instructions.

Ideally they should install snekilings with pip, create a folder and sneki init to create the exercises folder then run sneki start to begin working on the exercises and etc.

Pytest code in snakelings is being a little goofy.

When you remove the I'm not done yet it should run the code to test what you have done is correct which it does but if your result is incorrect and you then correct it later, save the file, it seems to state the the answer is still wrong even though it's correct. Try it and you'll see what I mean.

Reproduce steps

  1. Run snakelings for the 2_math exercise you made.
  2. Remove the I'm not done yet comment, save the file. (it should error once again, which is good as the answer is incorrect)
  3. Solve it correctly now then save the file.
  4. It won't continue off, it will continue to give you the same pytest error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.