-
Notifications
You must be signed in to change notification settings - Fork 0
Initial batch of tasks to review #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,197 @@ | ||
|
|
||
| # Created by https://www.gitignore.io/api/osx,pycharm,python | ||
|
|
||
| ### OSX ### | ||
| *.DS_Store | ||
| .AppleDouble | ||
| .LSOverride | ||
|
|
||
| # Icon must end with two \r | ||
| Icon | ||
|
|
||
| # Thumbnails | ||
| ._* | ||
|
|
||
| # Files that might appear in the root of a volume | ||
| .DocumentRevisions-V100 | ||
| .fseventsd | ||
| .Spotlight-V100 | ||
| .TemporaryItems | ||
| .Trashes | ||
| .VolumeIcon.icns | ||
| .com.apple.timemachine.donotpresent | ||
|
|
||
| # Directories potentially created on remote AFP share | ||
| .AppleDB | ||
| .AppleDesktop | ||
| Network Trash Folder | ||
| Temporary Items | ||
| .apdisk | ||
|
|
||
| ### PyCharm ### | ||
| # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm | ||
| # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||
|
|
||
| # User-specific stuff: | ||
| .idea/**/workspace.xml | ||
| .idea/**/tasks.xml | ||
| .idea/dictionaries | ||
|
|
||
| # Sensitive or high-churn files: | ||
| .idea/**/dataSources/ | ||
| .idea/**/dataSources.ids | ||
| .idea/**/dataSources.xml | ||
| .idea/**/dataSources.local.xml | ||
| .idea/**/sqlDataSources.xml | ||
| .idea/**/dynamic.xml | ||
| .idea/**/uiDesigner.xml | ||
|
|
||
| # Gradle: | ||
| .idea/**/gradle.xml | ||
| .idea/**/libraries | ||
|
|
||
| # CMake | ||
| cmake-build-debug/ | ||
|
|
||
| # Mongo Explorer plugin: | ||
| .idea/**/mongoSettings.xml | ||
|
|
||
| ## File-based project format: | ||
| *.iws | ||
|
|
||
| ## Plugin-specific files: | ||
|
|
||
| # IntelliJ | ||
| /out/ | ||
|
|
||
| # mpeltonen/sbt-idea plugin | ||
| .idea_modules/ | ||
|
|
||
| # JIRA plugin | ||
| atlassian-ide-plugin.xml | ||
|
|
||
| # Cursive Clojure plugin | ||
| .idea/replstate.xml | ||
|
|
||
| # Ruby plugin and RubyMine | ||
| /.rakeTasks | ||
|
|
||
| # Crashlytics plugin (for Android Studio and IntelliJ) | ||
| com_crashlytics_export_strings.xml | ||
| crashlytics.properties | ||
| crashlytics-build.properties | ||
| fabric.properties | ||
|
|
||
| ### PyCharm Patch ### | ||
| # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 | ||
|
|
||
| # *.iml | ||
| # modules.xml | ||
| # .idea/misc.xml | ||
| # *.ipr | ||
|
|
||
| # Sonarlint plugin | ||
| .idea/sonarlint | ||
|
|
||
| ### Python ### | ||
| # Byte-compiled / optimized / DLL files | ||
| __pycache__/ | ||
| *.py[cod] | ||
| *$py.class | ||
|
|
||
| # C extensions | ||
| *.so | ||
|
|
||
| # Distribution / packaging | ||
| .Python | ||
| build/ | ||
| develop-eggs/ | ||
| dist/ | ||
| downloads/ | ||
| eggs/ | ||
| .eggs/ | ||
| lib/ | ||
| lib64/ | ||
| parts/ | ||
| sdist/ | ||
| var/ | ||
| wheels/ | ||
| *.egg-info/ | ||
| .installed.cfg | ||
| *.egg | ||
|
|
||
| # PyInstaller | ||
| # Usually these files are written by a python script from a template | ||
| # before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
| *.manifest | ||
| *.spec | ||
|
|
||
| # Installer logs | ||
| pip-log.txt | ||
| pip-delete-this-directory.txt | ||
|
|
||
| # Unit test / coverage reports | ||
| htmlcov/ | ||
| .tox/ | ||
| .coverage | ||
| .coverage.* | ||
| .cache | ||
| .pytest_cache/ | ||
| nosetests.xml | ||
| coverage.xml | ||
| *.cover | ||
| .hypothesis/ | ||
|
|
||
| # Translations | ||
| *.mo | ||
| *.pot | ||
|
|
||
| # Flask stuff: | ||
| instance/ | ||
| .webassets-cache | ||
|
|
||
| # Scrapy stuff: | ||
| .scrapy | ||
|
|
||
| # Sphinx documentation | ||
| docs/_build/ | ||
|
|
||
| # PyBuilder | ||
| target/ | ||
|
|
||
| # Jupyter Notebook | ||
| .ipynb_checkpoints | ||
|
|
||
| # pyenv | ||
| .python-version | ||
|
|
||
| # celery beat schedule file | ||
| celerybeat-schedule.* | ||
|
|
||
| # SageMath parsed files | ||
| *.sage.py | ||
|
|
||
| # Environments | ||
| .env | ||
| .venv | ||
| env/ | ||
| venv/ | ||
| ENV/ | ||
| env.bak/ | ||
| venv.bak/ | ||
|
|
||
| # Spyder project settings | ||
| .spyderproject | ||
| .spyproject | ||
|
|
||
| # Rope project settings | ||
| .ropeproject | ||
|
|
||
| # mkdocs documentation | ||
| /site | ||
|
|
||
| # mypy | ||
| .mypy_cache/ | ||
|
|
||
|
|
||
| # End of https://www.gitignore.io/api/osx,pycharm,python | ||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| def checkio(numbers_array): | ||
|
|
||
| numbers_array = sorted(numbers_array, key=abs) | ||
|
|
||
| return numbers_array | ||
|
|
||
| #These "asserts" using only for self-checking and not necessary for auto-testing | ||
| if __name__ == '__main__': | ||
| def check_it(array): | ||
| if not isinstance(array, (list, tuple)): | ||
| raise TypeError("The result should be a list or tuple.") | ||
| return list(array) | ||
|
|
||
| assert check_it(checkio((-20, -5, 10, 15))) == [-5, 10, 15, -20], "Example" # or (-5, 10, 15, -20) | ||
| assert check_it(checkio((1, 2, 3, 0))) == [0, 1, 2, 3], "Positive numbers" | ||
| assert check_it(checkio((-1, -2, -3, 0))) == [0, -1, -2, -3], "Negative numbers" | ||
| print("Coding complete? Click 'Check' to review your tests and earn cool rewards!") |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| from typing import List, Any | ||
|
|
||
|
|
||
| def all_the_same(elements: List[Any]) -> bool: | ||
|
|
||
| return all(i == elements[0] for i in elements) | ||
|
|
||
|
|
||
| if __name__ == '__main__': | ||
| print("Example:") | ||
| print(all_the_same([1, 1, 1])) | ||
|
|
||
| # These "asserts" are used for self-checking and not for an auto-testing | ||
| assert all_the_same([1, 1, 1]) == True | ||
| assert all_the_same([1, 2, 1]) == False | ||
| assert all_the_same(['a', 'a', 'a']) == True | ||
| assert all_the_same([]) == True | ||
| assert all_the_same([1]) == True | ||
| print("Coding complete? Click 'Check' to earn cool rewards!") |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| def best_stock(data): | ||
|
|
||
| return max(data, key=data.get) | ||
|
|
||
|
|
||
| if __name__ == '__main__': | ||
| print("Example:") | ||
| print(best_stock({ | ||
| 'CAC': 10.0, | ||
| 'ATX': 390.2, | ||
| 'WIG': 1.2 | ||
| })) | ||
|
|
||
| # These "asserts" are used for self-checking and not for an auto-testing | ||
| assert best_stock({ | ||
| 'CAC': 10.0, | ||
| 'ATX': 390.2, | ||
| 'WIG': 1.2 | ||
| }) == 'ATX', "First" | ||
| assert best_stock({ | ||
| 'CAC': 91.1, | ||
| 'ATX': 1.01, | ||
| 'TASI': 120.9 | ||
| }) == 'TASI', "Second" | ||
| print("Coding complete? Click 'Check' to earn cool rewards!") |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| def between_markers(text: str, begin: str, end: str) -> str: | ||
| """ | ||
| returns substring between two given markers | ||
| """ | ||
| try: | ||
| idb = text.index(begin) + len(begin) | ||
| except ValueError: | ||
| idb = None | ||
| try: | ||
| ide = text.index(end) | ||
| except ValueError: | ||
| ide = None | ||
|
|
||
|
|
||
| if idb is None and ide is None: | ||
| return text | ||
|
|
||
| if idb == None and ide: | ||
| return text[:ide] | ||
| elif ide == None and idb: | ||
| return text[idb:] | ||
| elif ide > idb: | ||
| return text[idb:ide] | ||
| else: | ||
| return '' | ||
|
|
||
|
|
||
|
|
||
|
|
||
| if __name__ == '__main__': | ||
| print('Example:') | ||
| print(between_markers('What is >apple<', '>', '<')) | ||
|
|
||
| # These "asserts" are used for self-checking and not for testing | ||
| assert between_markers('What is >apple<', '>', '<') == "apple", "One sym" | ||
| assert between_markers("<head><title>My new site</title></head>", | ||
| "<title>", "</title>") == "My new site", "HTML" | ||
| assert between_markers('No[/b] hi', '[b]', '[/b]') == 'No', 'No opened' | ||
| assert between_markers('No [b]hi', '[b]', '[/b]') == 'hi', 'No close' | ||
| assert between_markers('No hi', '[b]', '[/b]') == 'No hi', 'No markers at all' | ||
| assert between_markers('No <hi>', '>', '<') == '', 'Wrong direction' | ||
| print('Wow, you are doing pretty good. Time to check it!') |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| def bigger_price(limit, data): | ||
| """ | ||
| TOP most expensive goods | ||
| """ | ||
| l = (sorted(data, key=lambda x: x['price'], reverse=True)) | ||
|
|
||
| return l[:limit] | ||
|
|
||
|
|
||
|
|
||
| if __name__ == '__main__': | ||
| from pprint import pprint | ||
| print('Example:') | ||
| pprint(bigger_price(2, [ | ||
| {"name": "bread", "price": 100}, | ||
| {"name": "wine", "price": 138}, | ||
| {"name": "meat", "price": 15}, | ||
| {"name": "water", "price": 1} | ||
| ])) | ||
|
|
||
| # These "asserts" using for self-checking and not for auto-testing | ||
| assert bigger_price(2, [ | ||
| {"name": "bread", "price": 100}, | ||
| {"name": "wine", "price": 138}, | ||
| {"name": "meat", "price": 15}, | ||
| {"name": "water", "price": 1} | ||
| ]) == [ | ||
| {"name": "wine", "price": 138}, | ||
| {"name": "bread", "price": 100} | ||
| ], "First" | ||
|
|
||
| assert bigger_price(1, [ | ||
| {"name": "pen", "price": 5}, | ||
| {"name": "whiteboard", "price": 170} | ||
| ]) == [{"name": "whiteboard", "price": 170}], "Second" | ||
|
|
||
| print('Done! Looks like it is fine. Go and check it') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
test