{"id":19500106,"url":"https://github.com/gabrioliv/python-general-scripts-exercises","last_synced_at":"2025-11-18T14:36:51.521Z","repository":{"id":176189042,"uuid":"335676606","full_name":"GabriOliv/python-general-scripts-exercises","owner":"GabriOliv","description":"Some Python Scripts and Exercises","archived":false,"fork":false,"pushed_at":"2024-05-08T07:13:00.000Z","size":44,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T21:22:56.966Z","etag":null,"topics":["exercises","learning","programming","pytest","python","python-exercises","python310","scripts","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GabriOliv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-03T15:55:42.000Z","updated_at":"2024-11-21T08:39:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"fdd61402-8efa-4618-9d63-e1c016003131","html_url":"https://github.com/GabriOliv/python-general-scripts-exercises","commit_stats":null,"previous_names":["gabrioliv/python-general-scripts-exercises"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GabriOliv/python-general-scripts-exercises","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabriOliv%2Fpython-general-scripts-exercises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabriOliv%2Fpython-general-scripts-exercises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabriOliv%2Fpython-general-scripts-exercises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabriOliv%2Fpython-general-scripts-exercises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GabriOliv","download_url":"https://codeload.github.com/GabriOliv/python-general-scripts-exercises/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabriOliv%2Fpython-general-scripts-exercises/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285068430,"owners_count":27109462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-18T02:00:05.759Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exercises","learning","programming","pytest","python","python-exercises","python310","scripts","testing"],"created_at":"2024-11-10T22:07:30.285Z","updated_at":"2025-11-18T14:36:51.486Z","avatar_url":"https://github.com/GabriOliv.png","language":"Python","readme":"# [Python (Scripts and Exercises)](https://github.com/GabriOliv/python-general-scripts-exercises)\n\nSome Python Scripts and Exercises \n\n[![Python Version](https://img.shields.io/badge/python-3.10-blue?logo=python)](https://www.python.org/downloads/)\n\n---\n\n## Python Exercises from [Practice Python](https://www.practicepython.org/)\n\n| Scripts | Exercises | Tests |\n| :---: | :--- | :---: |\n| ex_01.py | [1: Character Input][exerc001] | ✅ |\n| ex_02.py | [2: Odd Or Even][exerc002] |\n| ex_03.py | [3: List Less Than Ten][exerc003] |\n| ex_04.py | [4: Divisors][exerc004] |\n| ex_05.py | [5: List Overlap][exerc005] |\n| ex_06.py | [6: String Lists][exerc006] |\n| ex_07.py | [7: List Comprehensions][exerc007] |\n| ex_08.py | [8: Rock Paper Scissors][exerc008] |\n| ex_09.py | [9: Guessing Game One][exerc009] |\n| ex_10.py | [10: List Overlap Comprehensions][exerc010] |\n| ex_11.py | [11: Check Primality Functions][exerc011] |\n\n[comment]: \u003c\u003e ( to do list\n| ex_12.py | [12: List Ends][exerc012] |\n| ex_13.py | [13: Fibonacci][exerc013] |\n| ex_14.py | [14: List Remove Duplicates][exerc014] |\n| ex_15.py | [15: Reverse Word Order][exerc015] |\n| ex_16.py | [16: Password Generator][exerc016] |\n| ex_17.py | [17: Decode A Web Page][exerc017] |\n| ex_18.py | [18: Cows And Bulls][exerc018] |\n| ex_19.py | [19: Decode A Web Page Two][exerc019] |\n| ex_20.py | [20: Element Search][exerc020] |\n| ex_21.py | [21: Write To A File][exerc021] |\n| ex_22.py | [22: Read From File][exerc022] |\n| ex_23.py | [23: File Overlap][exerc023] |\n| ex_24.py | [24: Draw A Game Board][exerc024] |\n| ex_25.py | [25: Guessing Game Two][exerc025] |\n| ex_26.py | [26: Check Tic Tac Toe][exerc026] |\n| ex_27.py | [27: Tic Tac Toe Draw][exerc027] |\n| ex_28.py | [28: Max Of Three][exerc028] |\n| ex_29.py | [29: Tic Tac Toe Game][exerc029] |\n| ex_30.py | [30: Pick Word][exerc030] |\n| ex_31.py | [31: Guess Letters][exerc031] |\n| ex_32.py | [32: Hangman][exerc032] |\n| ex_33.py | [33: Birthday Dictionaries][exerc033] |\n| ex_34.py | [34: Birthday Json][exerc034] |\n| ex_35.py | [35: Birthday Months][exerc035] |\n| ex_36.py | [36: Birthday Plots][exerc036] |\n)\n\n[exerc001]: \u003chttps://www.practicepython.org/exercise/2014/01/29/01-character-input.html\u003e\n[exerc002]: \u003chttps://www.practicepython.org/exercise/2014/02/05/02-odd-or-even.html\u003e\n[exerc003]: \u003chttps://www.practicepython.org/exercise/2014/02/15/03-list-less-than-ten.html\u003e\n[exerc004]: \u003chttps://www.practicepython.org/exercise/2014/02/26/04-divisors.html\u003e\n[exerc005]: \u003chttps://www.practicepython.org/exercise/2014/03/05/05-list-overlap.html\u003e\n[exerc006]: \u003chttps://www.practicepython.org/exercise/2014/03/12/06-string-lists.html\u003e\n[exerc007]: \u003chttps://www.practicepython.org/exercise/2014/03/19/07-list-comprehensions.html\u003e\n[exerc008]: \u003chttps://www.practicepython.org/exercise/2014/03/26/08-rock-paper-scissors.html\u003e\n[exerc009]: \u003chttps://www.practicepython.org/exercise/2014/04/02/09-guessing-game-one.html\u003e\n[exerc010]: \u003chttps://www.practicepython.org/exercise/2014/04/10/10-list-overlap-comprehensions.html\u003e\n[exerc011]: \u003chttps://www.practicepython.org/exercise/2014/04/16/11-check-primality-functions.html\u003e\n[exerc012]: \u003chttps://www.practicepython.org/exercise/2014/04/25/12-list-ends.html\u003e\n[exerc013]: \u003chttps://www.practicepython.org/exercise/2014/04/30/13-fibonacci.html\u003e\n[exerc014]: \u003chttps://www.practicepython.org/exercise/2014/05/15/14-list-remove-duplicates.html\u003e\n[exerc015]: \u003chttps://www.practicepython.org/exercise/2014/05/21/15-reverse-word-order.html\u003e\n[exerc016]: \u003chttps://www.practicepython.org/exercise/2014/05/28/16-password-generator.html\u003e\n[exerc017]: \u003chttps://www.practicepython.org/exercise/2014/06/06/17-decode-a-web-page.html\u003e\n[exerc018]: \u003chttps://www.practicepython.org/exercise/2014/07/05/18-cows-and-bulls.html\u003e\n[exerc019]: \u003chttps://www.practicepython.org/exercise/2014/07/14/19-decode-a-web-page-two.html\u003e\n[exerc020]: \u003chttps://www.practicepython.org/exercise/2014/11/11/20-element-search.html\u003e\n[exerc021]: \u003chttps://www.practicepython.org/exercise/2014/11/30/21-write-to-a-file.html\u003e\n[exerc022]: \u003chttps://www.practicepython.org/exercise/2014/12/06/22-read-from-file.html\u003e\n[exerc023]: \u003chttps://www.practicepython.org/exercise/2014/12/14/23-file-overlap.html\u003e\n[exerc024]: \u003chttps://www.practicepython.org/exercise/2014/12/27/24-draw-a-game-board.html\u003e\n[exerc025]: \u003chttps://www.practicepython.org/exercise/2015/11/01/25-guessing-game-two.html\u003e\n[exerc026]: \u003chttps://www.practicepython.org/exercise/2015/11/16/26-check-tic-tac-toe.html\u003e\n[exerc027]: \u003chttps://www.practicepython.org/exercise/2015/11/26/27-tic-tac-toe-draw.html\u003e\n[exerc028]: \u003chttps://www.practicepython.org/exercise/2016/03/27/28-max-of-three.html\u003e\n[exerc029]: \u003chttps://www.practicepython.org/exercise/2016/08/03/29-tic-tac-toe-game.html\u003e\n[exerc030]: \u003chttps://www.practicepython.org/exercise/2016/09/24/30-pick-word.html\u003e\n[exerc031]: \u003chttps://www.practicepython.org/exercise/2017/01/02/31-guess-letters.html\u003e\n[exerc032]: \u003chttps://www.practicepython.org/exercise/2017/01/10/32-hangman.html\u003e\n[exerc033]: \u003chttps://www.practicepython.org/exercise/2017/01/24/33-birthday-dictionaries.html\u003e\n[exerc034]: \u003chttps://www.practicepython.org/exercise/2017/02/06/34-birthday-json.html\u003e\n[exerc035]: \u003chttps://www.practicepython.org/exercise/2017/02/28/35-birthday-months.html\u003e\n[exerc036]: \u003chttps://www.practicepython.org/exercise/2017/04/02/36-birthday-plots.html\u003e\n\n\n---\n\n## How install and run the scripts\n\n1. git clone the project\n2. cd into the project\n\t```sh\n\tcd python-general-scripts-exercises\n\t```\n3. Start a venv (virtual environment)\n\t```sh\n\tpython3.10 -m venv env\n\t```\n4. Activate the venv\n\t```sh\n\tsource env/bin/activate\n\t```\n5. Install the requirements\n\t```sh\n\tpip3.10 install -r requirements.txt\n\t```\n6. Run the tests\n\t```sh\n\tclear; PWDEBUG=1 pytest -vx\n\t```\n7. If all pass, run the scripts\n\t```sh\n\tpython3.10 NAME_OF_THE_SCRIPT.py\n\t```\n8. To deactivate the venv\n\t```sh\n\tdeactivate\n\t```\n\n### Run Coverage\n\nRun the coverage with pytest and show the missing lines\n```sh\ncoverage run -m pytest; coverage report --show-missing\n```\n\n---","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrioliv%2Fpython-general-scripts-exercises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrioliv%2Fpython-general-scripts-exercises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrioliv%2Fpython-general-scripts-exercises/lists"}