Giter Club home page Giter Club logo

communipy's Introduction

made-with-python Maintenance License: MIT

CommuniPy ๐Ÿ ๐Ÿ“š

This repository includes exercises for refreshing Python skills, from strings, lists to Object Oriented Programming.

  • It is also a place that provides valuable insights from real humans on real life matters. People with different backgrounds share their stories and advices on how to become a better programmer and asset in the workfoce.

  • This is intended to be a place for everyone with any Python knowledge to contribute and make an impact within the community. Have a problem in mind or want to share your story? Make a pull request!

How to Use

See Notes for other usage features.

How it works:

CommuniPy is a place to craft your Python skills and learn from a large community of amazing people with valuable insights.

  • Implementation happens in the source file (reverse_string.py) within each Folder (e.g. 'Strings).
  • After that, all you have to do is execute the source file.
  • If you pass all tests no error will be thrown.
  • If error is thrown it will trace back to the exact implementation where the error is coming from.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Usage

Using Strings as an example.

  • git clone https://github.com/RafaelBroseghini/CommuniPy.git
  • cd CommuniPy/Practice\ Problems/01-Strings/Beginner
  • Choose one of the exercise files and write code. (e.g reverse_string.py)
  • python reverse_string.py

Collaborators


RafaelBroseghini


Ashish Shukla


Contributors


Vishnu Raveendran


PedroRTeles

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Notes

communipy's People

Contributors

abftinker avatar ash2shukla avatar pedrorteles avatar rafaelbroseghini avatar vishnurvn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

communipy's Issues

Formatting of practice files.

I have two suggestions regarding the Formatting of the practice files.

  1. I found the header String to be a bit non-standard.

__ author __ is assigned the author name mostly.
and the date and filename can be generated if needed by __ file __ and os.path.getmtime(__ file __).
If needed then other meta information can be given as __ excercise __.

__author__="John Doe"
__excercise__="Strings" # optional
__date__ ="12/12/1234"  # optional
  1. I suggest giving the problem statement as a docstring to a function as it makes it much less ambiguous that where should a particular question's answer should be given.
    Take this for instance-
"""some question"""

def taskx():
    pass

"""some other question"""

def tasky():
    pass
def taskx():
    """some question"""
    pass

def tasky():
    """some other question"""
    pass

The latter looks more neat to me.

Ambiguity in math problems and module.

math problems file is named math.py, if someone tries to import math in it, it will import itself.

# For purposes of practicing do not import math.
# Assume pi = 3.14

Instead of resolving the name problem comment is given that assume values instead of importing?

it should be renamed to maths.py

def sum_them_all(number):
"""
Given a number, return the sum of all digits from
zero to the number (inclusive).
"""
pass

Problem doesn't state what to do when number is negative, neither it says that number will only be positive.
Give proper conditions for input.

def even_or_odd(number):
"""
Given a number, return if it is even or odd.
"""
pass

Tell explicitly what to return eg.

"""
        Given a number, return string 'even' if it is even or 'odd' if it is odd.
"""

Inconsistent and Improper Indents. add Guidelines to CONTRIBUTING.md

print("\n.Passed task 1 with no errors!")

Extra space causing test case to fail.

"""
Given a number, return if it is even or odd.
"""

Improper indents make files look inconsistent.

Many pushes have these naive mistakes which make practice files look weird. Please add guidelines to CONTRIBUTING.md about submitting PEP8 compliant code or better, define standards by giving a template for additions.

Add Dicts folder

Add dicts.py and test_dicts.py with exercises and test cases respectively.

Changes in .gitignore?

*.pyc should also be added else it will ignore the directory __ pycache __ but not the *.pyc files under it which is making it add __ pycache __ again and again.

Add project ideas

Add project ideas following guideline on TEMPLATE.md within Project Ideas folder.

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.