diff --git a/kjg/python-the-hard-way/e23.py b/kjg/python-the-hard-way/e23.py new file mode 100644 index 0000000..9d9b3ff --- /dev/null +++ b/kjg/python-the-hard-way/e23.py @@ -0,0 +1,22 @@ +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/kjg/python-the-hard-way/e24.py b/kjg/python-the-hard-way/e24.py new file mode 100644 index 0000000..ddefa2c --- /dev/null +++ b/kjg/python-the-hard-way/e24.py @@ -0,0 +1,42 @@ +print("Let's practice everything.") +print('You\'d need to know \'bout escapes with \\ that do:') +print('\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)) diff --git a/kjg/python-the-hard-way/e25.py b/kjg/python-the-hard-way/e25.py new file mode 100644 index 0000000..50525a1 --- /dev/null +++ b/kjg/python-the-hard-way/e25.py @@ -0,0 +1,44 @@ +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/kjg/python-the-hard-way/e26.py b/kjg/python-the-hard-way/e26.py new file mode 100644 index 0000000..47b151e --- /dev/null +++ b/kjg/python-the-hard-way/e26.py @@ -0,0 +1,99 @@ +from sys import argv + +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 = 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 = 20 + +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/kjg/python-the-hard-way/exercise26.txt b/kjg/python-the-hard-way/exercise26.txt new file mode 100644 index 0000000..d7aaa3a --- /dev/null +++ b/kjg/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/kjg/python-the-hard-way/languages.txt b/kjg/python-the-hard-way/languages.txt new file mode 100644 index 0000000..6d47317 --- /dev/null +++ b/kjg/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/kjg/python-the-hard-way/new.py b/kjg/python-the-hard-way/new.py new file mode 100644 index 0000000..c29f232 --- /dev/null +++ b/kjg/python-the-hard-way/new.py @@ -0,0 +1,6 @@ +arg1 = "t" +arg2 = "t1" +a = f"arg1: {arg1}, arg2: {arg2}" +print(a) +b = "arg1: {arg1}, arg2: {arg2}" +print(b) diff --git a/kjg/python.org b/kjg/python.org index d631490..301bb4c 100644 --- a/kjg/python.org +++ b/kjg/python.org @@ -101,3 +101,12 @@ repeat from ex1 to ex21 " # () ' + . < ? , = / % - * {} \n \t open read close truncate def return print +*** Python #3: +**** ex23 +How to use encode and decode +**** ex24 +practice function and print +**** ex25 +practice import function +**** ex26 +practice debug code