From 40c2918bc8046de67c5a429a7883696d1b05e5e0 Mon Sep 17 00:00:00 2001 From: Robyn Noble Date: Wed, 11 Aug 2021 08:25:26 -0500 Subject: [PATCH 1/7] created new file --- pyworkshop/project.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pyworkshop/project.py diff --git a/pyworkshop/project.py b/pyworkshop/project.py new file mode 100644 index 0000000..e69de29 From d52049402f353a8d66473db9beab9c53add2695d Mon Sep 17 00:00:00 2001 From: Robyn Noble Date: Mon, 16 Aug 2021 14:06:52 -0500 Subject: [PATCH 2/7] coding in a file instead of REPL --- pyworkshop/project.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyworkshop/project.py b/pyworkshop/project.py index e69de29..33eb3c2 100644 --- a/pyworkshop/project.py +++ b/pyworkshop/project.py @@ -0,0 +1,4 @@ +greetings = ["Hello", "Bonjour", "Hola"] + +for greeting in greetings: + print(f"{greeting}, World!") From 1e39abb41c164ddf38513d574a7f391384de6cb2 Mon Sep 17 00:00:00 2001 From: Robyn Noble Date: Mon, 16 Aug 2021 14:14:49 -0500 Subject: [PATCH 3/7] practicing print statements and if else statements --- pyworkshop/mystery.py | 15 +++++++++++++++ pyworkshop/name.py | 2 ++ pyworkshop/name_lib.py | 7 +++++++ 3 files changed, 24 insertions(+) create mode 100644 pyworkshop/mystery.py create mode 100644 pyworkshop/name.py create mode 100644 pyworkshop/name_lib.py diff --git a/pyworkshop/mystery.py b/pyworkshop/mystery.py new file mode 100644 index 0000000..7363fd5 --- /dev/null +++ b/pyworkshop/mystery.py @@ -0,0 +1,15 @@ +def mystery(): + num = 10 * 3 + + if num == 10: + print("condition 10") + num = num * 10 + elif num == 30: + print("condition 30") + num = num * 30 + + print(f"num was {num}") + return num + + +print(mystery()) diff --git a/pyworkshop/name.py b/pyworkshop/name.py new file mode 100644 index 0000000..bd2bff5 --- /dev/null +++ b/pyworkshop/name.py @@ -0,0 +1,2 @@ +name = "Robyn" +print(name) diff --git a/pyworkshop/name_lib.py b/pyworkshop/name_lib.py new file mode 100644 index 0000000..d9cc40e --- /dev/null +++ b/pyworkshop/name_lib.py @@ -0,0 +1,7 @@ +def upper_case_name(name): + return name.upper() + + +name = "Robyn" +upper_case_name = upper_case_name(name) +print(f"Upper case name is {upper_case_name}") From 4439ecfdb7b7a18ffe22685b12b0986db22c6e32 Mon Sep 17 00:00:00 2001 From: Robyn Noble Date: Mon, 16 Aug 2021 14:22:41 -0500 Subject: [PATCH 4/7] new file created, practicing importing files --- pyworkshop/name_lib.py | 8 +++++--- pyworkshop/other_program.py | 6 ++++++ 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 pyworkshop/other_program.py diff --git a/pyworkshop/name_lib.py b/pyworkshop/name_lib.py index d9cc40e..3e1adc5 100644 --- a/pyworkshop/name_lib.py +++ b/pyworkshop/name_lib.py @@ -2,6 +2,8 @@ def upper_case_name(name): return name.upper() -name = "Robyn" -upper_case_name = upper_case_name(name) -print(f"Upper case name is {upper_case_name}") +if __name__ == "__main__": + name = "Robyn" + name_upper = upper_case_name(name) + print(f"Upper case name is {name_upper}") + print("dunder name", __name__) diff --git a/pyworkshop/other_program.py b/pyworkshop/other_program.py new file mode 100644 index 0000000..adcfbee --- /dev/null +++ b/pyworkshop/other_program.py @@ -0,0 +1,6 @@ +import name_lib + +my_name = "Fred" +upper_name = name_lib.upper_case_name(my_name) + +print(f"In my own code, upper name is {upper_name}") From dd383503fc480efdbeb23c13ac145f152d6155d7 Mon Sep 17 00:00:00 2001 From: Robyn Noble Date: Mon, 16 Aug 2021 14:45:22 -0500 Subject: [PATCH 5/7] try/except statements, what it looks like when you throw an error by having a string as an int --- pyworkshop/exceptions.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 pyworkshop/exceptions.py diff --git a/pyworkshop/exceptions.py b/pyworkshop/exceptions.py new file mode 100644 index 0000000..732f2eb --- /dev/null +++ b/pyworkshop/exceptions.py @@ -0,0 +1,7 @@ +# this will throw an error +try: + int("a") +except ValueError as e: + print("oops, you can't do that!", e) + +print("this is the end of my program") From b8a5b9ae0bd1070f4e446b953dac59f5ff980921 Mon Sep 17 00:00:00 2001 From: Robyn Noble Date: Mon, 16 Aug 2021 15:52:05 -0500 Subject: [PATCH 6/7] python plus api example --- pyworkshop/dog.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 pyworkshop/dog.py diff --git a/pyworkshop/dog.py b/pyworkshop/dog.py new file mode 100644 index 0000000..a2ddd3e --- /dev/null +++ b/pyworkshop/dog.py @@ -0,0 +1,12 @@ +import requests + +api_url = "http://shibe.online/api/shibes?count=1" + +params = {"count": 10} +response = requests.get(api_url, params=params) + +status_code = response.status_code +print("status code: ", status_code) + +response_json = response.json() +print(response_json) From 2ca9a19899e03cea9e39e28bc5ed169d1fd40635 Mon Sep 17 00:00:00 2001 From: Robyn Noble Date: Mon, 16 Aug 2021 16:21:59 -0500 Subject: [PATCH 7/7] more with functions and apis --- pyworkshop/day_one.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pyworkshop/day_one.py diff --git a/pyworkshop/day_one.py b/pyworkshop/day_one.py new file mode 100644 index 0000000..f04232c --- /dev/null +++ b/pyworkshop/day_one.py @@ -0,0 +1,40 @@ +import requests +from requests import status_codes + + +def create_query(languages, min_stars=50000): + query = f"stars:>{min_stars} " + + for language in languages: + query += f"language:{language} " + + return query + + +def repos_with_most_stars(languages, sort="stars", order="desc"): + gh_api_repo_search_url = "https://api.github.com/search/repositories" + + query = create_query(languages) + parameters = {"q": query, "sort": sort, "order": order} + response = requests.get(gh_api_repo_search_url, params=parameters) + + # status_code = response.status_code + status_code = 500 + if status_code != 200: + raise RuntimeError( + f"an error occurred. Status code was: {status_code}") + else: + response_json = response.json()["items"] + return response_json + + +if __name__ == "__main__": + languages = ["Python", "Javascript", "Ruby"] + results = repos_with_most_stars(languages) + + for result in results: + language = result["language"] + stars = result["stargazers_count"] + name = result["name"] + + print(f"-> {name} is a {language} repo with {stars} stars.")