From 4d1d4d05cd04f2a67f67c8a76247524de3470c35 Mon Sep 17 00:00:00 2001 From: Youngjin Han Date: Wed, 27 May 2020 22:53:32 +0900 Subject: [PATCH] Learning Circle : python #5 - Initial --- youngjin.han/learning-node02-2020.org | 16 +++ youngjin.han/python-the-hard-way/ex23.py | 23 ++++ youngjin.han/python-the-hard-way/ex24.py | 43 ++++++++ youngjin.han/python-the-hard-way/ex25.py | 35 ++++++ youngjin.han/python-the-hard-way/ex26.py | 101 ++++++++++++++++++ youngjin.han/python-the-hard-way/ex29.py | 32 ++++++ youngjin.han/python-the-hard-way/ex30.py | 28 +++++ youngjin.han/python-the-hard-way/ex31-1.py | 20 ++++ youngjin.han/python-the-hard-way/ex31.py | 41 +++++++ .../python-the-hard-way/exercise26.txt | 98 +++++++++++++++++ .../python-the-hard-way/languages.txt | 97 +++++++++++++++++ youngjin.han/python.org | 24 +++++ 12 files changed, 558 insertions(+) create mode 100644 youngjin.han/python-the-hard-way/ex23.py create mode 100644 youngjin.han/python-the-hard-way/ex24.py create mode 100644 youngjin.han/python-the-hard-way/ex25.py create mode 100644 youngjin.han/python-the-hard-way/ex26.py create mode 100644 youngjin.han/python-the-hard-way/ex29.py create mode 100644 youngjin.han/python-the-hard-way/ex30.py create mode 100644 youngjin.han/python-the-hard-way/ex31-1.py create mode 100644 youngjin.han/python-the-hard-way/ex31.py create mode 100644 youngjin.han/python-the-hard-way/exercise26.txt create mode 100644 youngjin.han/python-the-hard-way/languages.txt diff --git a/youngjin.han/learning-node02-2020.org b/youngjin.han/learning-node02-2020.org index 7139687..965c090 100644 --- a/youngjin.han/learning-node02-2020.org +++ b/youngjin.han/learning-node02-2020.org @@ -1,3 +1,19 @@ +* 2020-05-27 +*** Python #5: +**** DONE Lecture content + CLOSED: [2020-05-27 수 22:30] + - Same structure as "Python #2" + - Exercises 27-31 +**** Lecture material + - Available on https://cloud.ungleich.ch/s/435FyfrQyEq6oF3 +* 2020-05-25 +*** Python #4: +**** DONE Lecture content + CLOSED: [2020-05-27 수 22:41] + - Same structure as "Python #2" + - Exercises 23-26 +**** Lecture material + - Available on https://cloud.ungleich.ch/s/435FyfrQyEq6oF3 * 2020-05-22 **** DONE Lecture content CLOSED: [2020-05-23 토 00:21] diff --git a/youngjin.han/python-the-hard-way/ex23.py b/youngjin.han/python-the-hard-way/ex23.py new file mode 100644 index 0000000..2c84407 --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex23.py @@ -0,0 +1,23 @@ +import sys +script, input_encoding, error = sys.argv + + +def main(language_file, encoding, errors): + line = language_file.readline() + + if line: + print_line(line, encoding, errors) + return main(language_file, encoding, errors) + + +def print_line(line, encoding, errors): + next_lang = line.strip() + raw_bytes = next_lang.encode(encoding, errors=errors) + cooked_string = raw_bytes.decode(encoding, errors=errors) + + print(raw_bytes, "<===>", cooked_string) + + +languages = open("languages.txt", encoding="utf-8") + +main(languages, input_encoding, error) diff --git a/youngjin.han/python-the-hard-way/ex24.py b/youngjin.han/python-the-hard-way/ex24.py new file mode 100644 index 0000000..ca939a1 --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex24.py @@ -0,0 +1,43 @@ +print("Let's practice everything.") # print a script +print('You\'d need to know \'bout escapes with \\ that do:') # print a script +print('\n newlines and \t tabs.') # print a script + +# define a string array +poem = """ +\tThe lovely world +with logic so firmly planted +cannot discern \n the needs of love +nor comprehend passion from intuition +and requires an explanation +\n\t\twhere there is none. +""" + +print("--------------") # print a script +print(poem) # print a script +print("--------------") # print a script + + +five = 10 - 2 + 3 - 6 # calculate a number +print(f"This should be five: {five}") # print a script + +def secret_formula(started): # define a function + jelly_beans = started * 500 # calculate a number + jars = jelly_beans / 1000 # calculate a number + crates = jars / 100 # calculate a number + return jelly_beans, jars, crates # return values + + +start_point = 10000 # define a value +beans, jars, crates = secret_formula(start_point) # run a function + +# remember that this is another way to format a string +print("With a starting point of: {}".format(start_point)) # print a script +# it's just like with an f"" string +print(f"We'd have {beans} beans, {jars} jars, and {crates} crates.") # print a script + +start_point = start_point / 10 # calculate a number + +print("We can also do that this way:") # print a script +formula = secret_formula(start_point) # run a function +# this is an easy way to apply a list to a format string +print("We'd have {} beans, {} jars, and {} crates.".format(*formula)) # print a script diff --git a/youngjin.han/python-the-hard-way/ex25.py b/youngjin.han/python-the-hard-way/ex25.py new file mode 100644 index 0000000..1c01fd8 --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex25.py @@ -0,0 +1,35 @@ +def break_words(stuff): + """This function will break up words for us.""" + words = stuff.split(' ') + return words + +def sort_words(words): + """Sorts the words.""" + return sorted(words) + +def print_first_word(words): + """Prints the first word after popping it off.""" + word = words.pop(0) + print(word) + +def print_last_word(words): + """Prints the last word after popping it off.""" + word = words.pop(-1) + print(word) + +def sort_sentence(sentence): + """Takes in a full sentence and returns the sorted words.""" + words = break_words(sentence) + return sort_words(words) + +def print_first_and_last(sentence): + """Prints the first and last words of the sentence.""" + words = break_words(sentence) + print_first_word(words) + print_last_word(words) + +def print_first_and_last_sorted(sentence): + """Sorts the words then prints the first and last one.""" + words = sort_sentence(sentence) + print_first_word(words) + print_last_word(words) diff --git a/youngjin.han/python-the-hard-way/ex26.py b/youngjin.han/python-the-hard-way/ex26.py new file mode 100644 index 0000000..72d3252 --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex26.py @@ -0,0 +1,101 @@ +import sys + +print("How old are you?", end=' ') +age = input() +print("How tall are you?", end=' ') +height = input() +print("How much do you weigh?", end=' ') +weight = input() + +print(f"So, you're {age} old, {height} tall and {weight} heavy.") + +script, filename = sys.argv + +txt = open(filename) + +print("Here's your file {filename}:") +print(txt.read()) + +print("Type the filename again:") +file_again = input("> ") + +txt_again = open(file_again) + +print(txt_again.read()) + + +print("Let's practice everything.") +print("""You\'d need to know \'bout escapes + with \\ that do \n newlines and \t tabs.""") + +poem = """ +\tThe lovely world +with logic so firmly planted +cannot discern \n the needs of love +nor comprehend passion from intuition +and requires an explanation +\n\t\twhere there is none. +""" + +print("--------------") +print(poem) +print("--------------") + + +five = 10 - 2 + 3 - 6 +print(f"This should be five: {five}") + +def secret_formula(started): + jelly_beans = started * 500 + jars = jelly_beans / 1000 + crates = jars / 100 + return jelly_beans, jars, crates + + +start_point = 10000 +beans, jars, crates = secret_formula(start_point) + +# remember that this is another way to format a string +print("With a starting point of: {}".format(start_point)) +# it's just like with an f"" string +print(f"We'd have {beans} beans, {jars} jars, and {crates} crates.") + +start_point = start_point / 10 + +print("We can also do that this way:") +formula = secret_formula(start_point) +# this is an easy way to apply a list to a format string +print("We'd have {} beans, {} jars, and {} crates.".format(*formula)) + + + +people = 20 +cats = 30 +dogs = 15 + + +if people < cats: + print ("Too many cats! The world is doomed!") + +if people < cats: + print("Not many cats! The world is saved!") + +if people < dogs: + print("The world is drooled on!") + +if people > dogs: + print("The world is dry!") + + +dogs += 5 + +if people >= dogs: + print("People are greater than or equal to dogs.") + +if people <= dogs: + print("People are less than or equal to dogs.") + + +if people == dogs: + print("People are dogs.") + diff --git a/youngjin.han/python-the-hard-way/ex29.py b/youngjin.han/python-the-hard-way/ex29.py new file mode 100644 index 0000000..5e7eb6d --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex29.py @@ -0,0 +1,32 @@ +people = 20 +cats = 30 +dogs = 15 + + +if people < cats: + print("Too many cats! The world is doomed!") + +if people > cats: + print("Not many cats! The world is saved!") + +if people < dogs: + print("The world is drooled on!") + +if people > dogs: + print("The world is dry!") + +if people != dogs: + print("People are not dogs.") + +dogs += 5 + +if people >= dogs: + print("People are greater than or equal to dogs.") + +if people <= dogs: + print("People are less than or equal to dogs.") + + +if people == dogs: + print("People are dogs.") + diff --git a/youngjin.han/python-the-hard-way/ex30.py b/youngjin.han/python-the-hard-way/ex30.py new file mode 100644 index 0000000..2e84c1c --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex30.py @@ -0,0 +1,28 @@ +people = 3 # define a value +cars = 4 # define a value +trucks = 1 #define a value + + +if cars > people: # test a criteria + print("We should take the cars.") # print a script +elif cars < people: # test a criteria + print("We should not take the cars.") # print a script +else: # test a criteria + print("We can't decide.") # print a script + +if trucks > cars: # test a criteria + print("That's too many trucks.") # print a script +elif trucks < cars: # test a criteria + print("Maybe we could take the trucks.") # print a script +else: # test a criteria + print("We still can't decide.") # print a script + +if people > trucks: # test a criteria + print("Alright, let's just take the trucks.") # print a script +else: # test a criteria + print("Fine, let's stay home then.") # print a script + +if cars > people or trucks < cars: # test a criteria + print("There are a lot of cars") # print a script +else: # test a criteria + print("There are a few cars") # print a script diff --git a/youngjin.han/python-the-hard-way/ex31-1.py b/youngjin.han/python-the-hard-way/ex31-1.py new file mode 100644 index 0000000..7284cc6 --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex31-1.py @@ -0,0 +1,20 @@ +from random import * + +print("""Please, Press 'Enter' on your keyboard to roll a dice.""") +dumy = input("> ") +dice = randint(1, 6) + +print("""Guess the dice number. and then, +Please, Input it.""") +your_number = input("> ") + +if int(your_number) > 6: + print("WRONG NUMBER!!!!") +else: + if int(your_number) > dice: + print(f"Your number is bigger than dice is {dice}") + elif int(your_number) == dice: + print(f"Your number is equal to dice is {dice}") + elif int(your_number) < dice: + print(f"Your number is less than dice is {dice}") + diff --git a/youngjin.han/python-the-hard-way/ex31.py b/youngjin.han/python-the-hard-way/ex31.py new file mode 100644 index 0000000..625d012 --- /dev/null +++ b/youngjin.han/python-the-hard-way/ex31.py @@ -0,0 +1,41 @@ +print("""You enter a dark room with two doors. +Do you go through door #1 or door #2?""") + +door = input("> ") + +if door == "1": + print("There's a giant bear here eating a cheese cake.") + print("What do you do?") + print("1. Take the cake.") + print("2. Scream at the bear.") + print("3. Call 911.") + + bear = input("> ") + + if bear == "1": + print("The bear eats your face off. Good job!") + elif bear == "2": + print("The bear eats your legs off. Good job!") + elif bear == "3": + print("The bear eats your arms off. Good job!") + else: + print(f"Well, doing {bear} is probably better.") + print("Bear runs away.") + +elif door == "2": + print("You stare into the endless abyss at Cthulhu's retina.") + print("1. Blueberries.") + print("2. Yellow jacket clothespins.") + print("3. Understanding revolvers yelling melodies.") + + insanity = input("> ") + + if insanity == "1" or insanity == "2": + print("Your body survives powered by a mind of jello.") + print("Good job!") + else: + print("The insanity rots your eyes into a pool of muck.") + print("Good job!") + +else: + print("You stumble around and fall on a knife and die. Good job!") diff --git a/youngjin.han/python-the-hard-way/exercise26.txt b/youngjin.han/python-the-hard-way/exercise26.txt new file mode 100644 index 0000000..d7aaa3a --- /dev/null +++ b/youngjin.han/python-the-hard-way/exercise26.txt @@ -0,0 +1,98 @@ +print("How old are you?", end=' ') +age = input() +print("How tall are you?", end=' ') +print("How much do you weigh?", end=' ' +weight = input() + +print(f"So, you're {age} old, {height} tall and {weight} heavy.") + +script, filename = argv + +txt = open(filenme) + +print("Here's your file {filename}:") +print(tx.read()) + +print("Type the filename again:") +file_again = input("> ") + +txt_again = open(file_again) + +print(txt_again_read()) + + +print('Let's practice everything.') +print('You\'d need to know \'bout escapes + with \\ that do \n newlines and \t tabs.') + +poem = """ +\tThe lovely world +with logic so firmly planted +cannot discern \n the needs of love +nor comprehend passion from intuition +and requires an explanation +\n\t\twhere there is none. +""" + +print("--------------) +print(poem) +print(--------------") + + +five = 10 - 2 + 3 - +print(f"This should be five: {five}" + +def secret_formula(started) + jelly_beans = started * 500 + jars = jelly_beans / 1000 + crates = jars 100 + return jelly_beans, jars, crates + + +start_point = 10000 +beans, jars = secret_formula(start_point) + +# remember that this is another way to format a string +print("With a starting point of: {}".format(start_point)) +# it's just like with an f"" string +print(f"We'd have {beans} beans, {jars} jars, and {crates} crates.") + +start_point = start_point / 10 + +print("We can also do that this way:") +formula = secret_formula(startpoint) +# this is an easy way to apply a list to a format string +print("We'd have {} beans, {} jars, and {} crates.".format(*formula)) + + + +people = 20 +cates = 30 +dogs = 15 + + +if people < cats: + print "Too many cats! The world is doomed!" + +if people < cats: + print("Not many cats! The world is saved!") + +if people < dogs: + print("The world is drooled on!") + +if people > dogs + print("The world is dry!") + + +dogs += 5 + +if people >= dogs: + print("People are greater than or equal to dogs.") + +if people <= dogs + print("People are less than or equal to dogs.) + + +if people = dogs: + print("People are dogs.") + diff --git a/youngjin.han/python-the-hard-way/languages.txt b/youngjin.han/python-the-hard-way/languages.txt new file mode 100644 index 0000000..6d47317 --- /dev/null +++ b/youngjin.han/python-the-hard-way/languages.txt @@ -0,0 +1,97 @@ +Afrikaans +አማርኛ +Аҧсшәа +العربية +Aragonés +Arpetan +Azərbaycanca +Bamanankan +বাংলা +Bân-lâm-gú +Беларуская +Български +Boarisch +Bosanski +Буряад +Català +Чӑвашла +Čeština +Cymraeg +Dansk +Deutsch +Eesti +Ελληνικά +Español +Esperanto +فارسی +Français +Frysk +Gaelg +Gàidhlig +Galego +한국어 +Հայերեն +हिन्दी +Hrvatski +Ido +Interlingua +Italiano +עברית +ಕನ್ನಡ +Kapampangan +ქართული +Қазақша +Kreyòl ayisyen +Latgaļu +Latina +Latviešu +Lëtzebuergesch +Lietuvių +Magyar +Македонски +Malti +मराठी +მარგალური +مازِرونی +Bahasa Melayu +Монгол +Nederlands +नेपाल भाषा +日本語 +Norsk bokmål +Nouormand +Occitan +Oʻzbekcha/ўзбекча +ਪੰਜਾਬੀ +پنجابی +پښتو +Plattdüütsch +Polski +Português +Română +Romani +Русский +Seeltersk +Shqip +Simple English +Slovenčina +کوردیی ناوەندی +Српски / srpski +Suomi +Svenska +Tagalog +தமிழ் +ภาษาไทย +Taqbaylit +Татарча/tatarça +తెలుగు +Тоҷикӣ +Türkçe +Українська +اردو +Tiếng Việt +Võro +文言 +吴语 +ייִדיש +中文 diff --git a/youngjin.han/python.org b/youngjin.han/python.org index 020c3c6..6830728 100644 --- a/youngjin.han/python.org +++ b/youngjin.han/python.org @@ -1,3 +1,27 @@ +* 2020-05-27 +** note + - ex27.py + - none + - ex28.py + - <= (greater than or equal to), =< (less than or equal t0) + - ex29.py + - The 'if' means to test criteria. + - The 'if' processes the script is intended. + - If the script is not indented, an error should be occured. + - ex30.py + - none + - ex31.py + - none +* 2020-05-25 +** note + - ex23.py + - none + - ex24.py + - none + - ex25.py + - none + - ex26.py + - none * 2020-05-22 ** note - ex15.py