From 96c1fb2f8f745a08db03b64bb494bc07070e75f4 Mon Sep 17 00:00:00 2001 From: Tyler Date: Sun, 19 May 2019 23:38:17 -0500 Subject: [PATCH 1/2] Finished up to challenge 4 --- .vscode/settings.json | 3 + README | 0 challenge1.py | 19 +++++ challenge2.py | 26 ++++++ challenge3.py | 20 +++++ challenge4.py | 21 +++++ python contents.docx | Bin 76306 -> 0 bytes python contents.txt | 188 ------------------------------------------ 8 files changed, 89 insertions(+), 188 deletions(-) create mode 100644 .vscode/settings.json delete mode 100644 README create mode 100644 challenge1.py create mode 100644 challenge2.py create mode 100644 challenge3.py create mode 100644 challenge4.py delete mode 100644 python contents.docx delete mode 100644 python contents.txt diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..93216055 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "C:\\Users\\Tyler\\AppData\\Local\\Programs\\Python\\Python37-32\\python.exe" +} \ No newline at end of file diff --git a/README b/README deleted file mode 100644 index e69de29b..00000000 diff --git a/challenge1.py b/challenge1.py new file mode 100644 index 00000000..b4363007 --- /dev/null +++ b/challenge1.py @@ -0,0 +1,19 @@ +# Question 1 +# Level 1 + +# Question: +# Write a program which will find all such numbers which are divisible by 7 but are not a multiple of 5, +# between 2000 and 3200 (both included). +# The numbers obtained should be printed in a comma-separated sequence on a single line. + + +for i in range(2000, 32001): + if i%7 == 0 and i%5 != 0: + print(i, end=',') + + + + + + + diff --git a/challenge2.py b/challenge2.py new file mode 100644 index 00000000..ee98b421 --- /dev/null +++ b/challenge2.py @@ -0,0 +1,26 @@ +# Question 2 +# Level 1 + +# Question: +# Write a program which can compute the factorial of a given numbers. +# The results should be printed in a comma-separated sequence on a single line. +# Suppose the following input is supplied to the program: +# 8 +# Then, the output should be: +# 40320 + +number = int(input("What number? ")) +total = number +for i in range((number-1), 1, -1): + total *= i + +print('Total = ' + str(total)) + +#other solution +def fact(x): + if x == 0: + return 1 + return x * fact(x - 1) + +x=int(input()) +print (fact(x)) \ No newline at end of file diff --git a/challenge3.py b/challenge3.py new file mode 100644 index 00000000..6924e227 --- /dev/null +++ b/challenge3.py @@ -0,0 +1,20 @@ +# Question 3 +# Level 1 + +# Question: +# With a given integral number n, write a program to generate a dictionary that contains (i, i*i) such that is an integral number between 1 and n (both included). and then the program should print the dictionary. +# Suppose the following input is supplied to the program: +# 8 +# Then, the output should be: +# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64} + +a = {} + +def todict(x): + for i in range(1, (x+1)): + a[i] = i*i + print (a) + +number = int(input("Number: ")) + +todict(number) diff --git a/challenge4.py b/challenge4.py new file mode 100644 index 00000000..82f498fa --- /dev/null +++ b/challenge4.py @@ -0,0 +1,21 @@ +# Question 4 +# Level 1 + +# Question: +# Write a program which accepts a sequence of comma-separated numbers from console and generate a list and a tuple which contains every number. +# Suppose the following input is supplied to the program: +# 34,67,55,33,12,98 +# Then, the output should be: +# ['34', '67', '55', '33', '12', '98'] +# ('34', '67', '55', '33', '12', '98') + +txt = input('Enter string: ') + +x = txt.split(',') +y = tuple(x) + +print(x[:2]) +print(x[2:]) +print(x[:-2]) +print(x[0:2]) +print(y) \ No newline at end of file diff --git a/python contents.docx b/python contents.docx deleted file mode 100644 index 184715d814c85e59372e9ab4b76325af610ca75a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76306 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΋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

D_X_?c44Z$cnW#<5YCLyqghxfUKr#ekZ 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 -Python Object Types, Numeric Types, Data Structures, Control Structures, Scopes and Arguments -2 1. Your first program -2. Declaring Functions -3. Python Data types vs Other Languages -4. Documenting Functions -5. Everything is an Object -6. The Import Search Path -7. What is an Object ? -8. Indenting Code -9. Testing Modules -10. Native Datatypes -1. Dictionaries -2. List -3. Tuples -11. Variables & referencing 1. Data Structures 1. Types and Objects -2. Operators and Expressions -3. Program Structure and Control Flow -4. Functions and Functional Programming -5. Classes and Object Oriented Programming -6. Modules, Packages and Distribution -7. Input and Output -8. Execution Environment -9. Testing, Debugging, Profiling and Tuning - -Data Structures, Algorithms & Code simplification -String & Text Handling 1. Python Overview -1. Built-in Data types -2. Control Structures -3. Module -4. OOPs -2. Basics -1. Lists -2. Dictionaries -3. Tuple -4. Sets -5. Strings -6. Control Flow -3. Functions -4. Modules and Scoping Rules -5. Python Programs 1. Introducing Python Object Types -1. Why use built-in Types ? -2. Core data types -3. Numbers, Lists, Dictionaries, Tuples, Files, Other Core Types -4. User Defined Classes -2. Numeric Types -1. Literals, Built-in tools, expression operators -2. Formats, Comparisons, Division, Precision -3. Complex Numbers -4. Hexadecimal, Octal & Binary -5. Bitwise Operations -6. Decimal, Fraction, Sets, Booleans - -1. Statements & Syntax -2. Assignments, Expressions & Syntax -3. If Tests & Syntax Rules -4. Scopes -5. Arguments -Built-in functions, Function Design, Recursive Functions, Introspection, Annotations, Lambda, Filter and Reduce -3 1. Power of Introspection -1. Optional and Named Arguments -2. type, str, dir and other built-in functions -3. Object References with getattr -4. Filtering Lists -5. Lambda Functions -6. Real world Lambda functions - None 1. Built-in functions -2. Python run-time services None Built-in functions are covered as part of the topic above but from a numeric perspective -1. Advanced Function Topics -1. Function Design -2. Recursive Functions -3. Attributes and Annotation -4. Lambda -5. Mapping Functions over sequences -6. Filter and Reduce - -Special Class Attributes -Display Tool -OOPS, Modules -4 1. Objects and Object Orientation -1. Importing Modules -2. Defining Classes -3. Initializing and Coding Classes -4. Self & __init__ -5. Instantiating Classes -6. Garbage Collection -7. Wrapper Classes -8. Special Class Methods -9. Advanced Class Methods -10. Class Attributes -11. Private Functions None Covered partially section 2 1. Packages -2. Data Types and Objects -3. Advanced Object Oriented Features 1. Modules -1. Why use Modules ? -2. Program Architecture -3. Module Search Path -4. Module Creation & Usage -5. Namespaces -6. Reloading Modules -7. Packages -2. Advanced Module Topics -1. Data Hiding in Modules -2. as Extension for import and from -3. Modules are Objects: Metaprograms -4. Transitive Module Reloads -5. Module Design Concepts -6. Module Gotchas -3. OOP -1. Why use classes ? -2. Classes & Instances -3. Attribute Inheritance Search -4. Class Method Calls -5. Class Trees -6. Class Objects & Default Behavior -7. Instance Objects are Concrete Items -8. Intercepting Python Operators -9. Classes Vs. Dictionaries -10. Class customization by Inheritance -11. Operator Overloading -12. Subclasses -13. Polymorphism in Action -14. Designing with Classes -15. Mix-in Classes -Advanced Class Topics -5 None None None None 1. Advanced Class Topics -1. Extending Types by Embedding -2. Extending Types by Subclassing -3. Static and Class Methods -4. Decorators and Metaclasses -5. Class Gotchas -Exceptions -6 1. Exceptions and File Handling -1. Handling Exceptions -2. Using exceptions for other purposes 1. Exceptions 1. Exceptions Basics -1. Why use Exceptions ? -2. Default Exception Handler -3. User-Defined Exceptions -4. Class Based Exceptions -5. Designing with Exceptions -XML, HTTP, SOAP, Network Programming, I18N, Unicode -7 1. Regular Expressions -2. Parsing / Processing Mark-up languages (HTML, XML) -1. Unicode -3. HTTP Web Services -1. Headers -2. Debugging -4. SOAP Web Services 1. Networking -2. Internet -3. Email -4. Internationalization and Localization 1. Network Programming and Sockets -2. Internet Application Programming -3. Web Programming -4. Internet Data Handling & Encoding 1. Network, web programming 1. Unicode and Bytes Strings -Miscellaneous -8 None 1. Algorithms -2. Cryptography -3. Data compression and archiving -4. Processes and Threads -5. Data persistence & exchange 1. Extending & Embedding Python 1. GUI None From 52532df242ebb7f4b83a04082dba8ba20d64b7bb Mon Sep 17 00:00:00 2001 From: TheCakesALie Date: Wed, 26 Jun 2019 12:56:19 -0500 Subject: [PATCH 2/2] Create Requests.md --- Requests.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 Requests.md diff --git a/Requests.md b/Requests.md new file mode 100644 index 00000000..6a080ba8 --- /dev/null +++ b/Requests.md @@ -0,0 +1,76 @@ +# Python3 Requests Module Examples +This file contains examples for different actions using the Requests III module. All examples are Python3. + +## https://3.python-requests.org/user/quickstart + +### Download Images +```python3 +r = requests.get('https://imgs.xkcd.com/comics/python.png') + +with open('img.jpg', 'wb') as f: + for chunk in r.iter_content(chunk_size=128): + f.write(chunk) +``` + +### Save Responses in JSON Dictionary +```python3 +payload = {'username': 'corey', 'password': 'testing'} +r = requests.post('https://httpbin.org/post', data=payload) + +r_dict = r.json() #Saves JSON response as a dictionary + +print(r_dict['form']) #Retrieve particular value +``` + +### Timeout in Seconds - Should be used for production code +```python3 +requests.get('https://github.com/', timeout=0.001) +``` + +### Errors and Exceptions + +In the event of a network problem (e.g. DNS failure, refused connection, etc), Requests will raise a **```ConnectionError```** exception. +**```Response.raise_for_status()```** will raise an **```HTTPError```** if the HTTP request returned an unsuccessful status code. +If a request times out, a **```Timeout```** exception is raised. +If a request exceeds the configured number of maximum redirections, a **```TooManyRedirects```** exception is raised. + +### Web Scraper with Request and BeautifulSoup4 +```python3 +from bs4 import BeautifulSoup +import requests +import csv + +source = requests.get('http://coreyms.com').text + +soup = BeautifulSoup(source, 'lxml') + +csv_file = open('cms_scrape.csv', 'w') + +csv_writer = csv.writer(csv_file) +csv_writer.writerow(['headline', 'summary', 'video_link']) + +for article in soup.find_all('article'): + headline = article.h2.a.text + print(headline) + + summary = article.find('div', class_='entry-content').p.text + print(summary) + + try: + vid_src = article.find('iframe', class_='youtube-player')['src'] + + vid_id = vid_src.split('/')[4] + vid_id = vid_id.split('?')[0] + + yt_link = f'https://youtube.com/watch?v={vid_id}' + except Exception as e: + yt_link = None + + print(yt_link) + + print() + + csv_writer.writerow([headline, summary, yt_link]) + +csv_file.close() +```