In [1]:
age = input("How old are you? ")
height = input("How tall are you? ")
weight = input("How much do you weigh? ")
print ("So, you're %r old, %r tall and %r heavy." % (
age, height, weight))
In [2]:
#exercise 13
from sys import argv
#script, first, second, third = argv
script, first, second = argv
print ("The script is called:", script)
print ("Your first variable is:", first)
print ("Your second variable is:", second)
#print ("Your third variable is:", third)
##since the values in argv are not providing a proper answer
# instead, do this to hardcode the parameters that will be passed
script = "Exercise13"
first = "string param1"
second = 34
third = 23.5
print ("The script is called:", script)
print ("Your first variable is:", first)
print ("Your second variable is:", second)
print ("Your third variable is:", third)
In [3]:
from sys import argv
script= user_name = "argv"
prompt = '> '
print ("Hi %s, I'm the %s script." % (user_name, script))
print ("I'd like to ask you a few questions." )
print ("Do you like me %s?" % user_name )
likes = input(prompt)
print ("Where do you live %s?" % user_name)
lives = input(prompt)
print ("What kind of computer do you have?" )
computer = input(prompt)
print ("""
Alright, so you said %r about liking me.
You live in %r. Not sure where that is.
And you have a %r computer. Nice.
""" % (likes, lives, computer))
In [4]:
from sys import argv
script= filename = "argv"
txt = open("god.txt")
print ("Here's your file %r:" % filename)
print (txt.read())
print ("I'll also ask you to type it again:")
file_again = input("> ")
txt_again = open("god.txt")
print (txt_again.read())
In [ ]:
from sys import argv
script= filename = "argv"
print ("We're going to erase %r." % filename)
print ("If you don't want that, hit CTRL-C (^C).")
print ("If you do want that, hit RETURN." )
input("?")
print ("Opening the file..." )
target = open(filename, 'w')
print ("Truncating the file. Goodbye!" )
target.truncate()
print ("Now I'm going to ask you for three lines.")
line1 =input("line 1: ")
line2 =input("line 2: ")
line3 = input("line 3: ")
print ("I'm going to write these to the file.")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
Out[ ]:
In [1]:
#exercise 17
from sys import argv
from os.path import exists
from_file = "god.txt"
to_file = "copy-sample.txt"
print ("Copying from ", from_file, "to ", to_file)
in_file = open(from_file)
indata = in_file.read()
print ("The input file is ", len(indata)," bytes long")
print ("Does the output file exist?", exists(to_file))
input ("continue ..")
out_file = open(to_file, 'w')
out_file.write(indata)
print ("Alright, all done.")
out_file.close()
in_file.close()
readfile = open(to_file)
print ("Contents of your file ", to_file)
print (readfile.read())
In [2]:
#exeercise 18
def print_two(*args):
arg1, arg2 = args
print ("arg1: ", arg1, "arg2: ", arg2)
def print_two_again(arg1, arg2):
print ("arg1: ", arg1, "arg2: ", arg2)
def print_one(arg1):
print ("arg1: ", arg1)
def print_none():
print ("I got nothin'.")
print_two("Zed","Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()
In [3]:
def cheese_and_crackers(cheese_count, boxes_of_crackers):
print ("You have ",cheese_count, "cheeses!")
print ("You have ", boxes_of_crackers," boxes of crackers")
print ("Man that's enough for a party!")
print ("Get a blanket.\n")
print ("We can just give the function numbers directly:")
cheese_and_crackers(20, 30)
print ("OR, we can use variables from our script:")
amount_of_cheese = 10
amount_of_crackers = 50
cheese_and_crackers(amount_of_cheese, amount_of_crackers)
print ("We can even do math inside too:")
cheese_and_crackers(10 + 20, 5 + 6)
print ("And we can combine the two, variables and math:")
cheese_and_crackers(amount_of_cheese + 100, amount_of_crackers + 1000)
In [5]:
#exercise 20
input_file = "god.txt"
def print_all(f):
print (f.read())
def rewind(f):
f.seek(0)
def print_a_line(line_count, f):
print (line_count, f.readline())
current_file = open(input_file)
print ("First let's print the whole file:\n")
print_all(current_file)
print ("Now let's rewind, kind of like a tape.")
rewind(current_file)
print ("Let's print three lines:\n")
current_line = 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
In [6]:
#exercise 21
def add(a, b):
print ("ADDING ", a, b)
return a + b
def subtract(a, b):
print ("Subtracting ", a, b)
return a - b
def multiply(a, b):
print ("Multiplying ", a, b)
return a * b
def divide(a, b):
print ("Dividing ", a, b)
return a / b
print ("Let's do some math with just functions!")
age = add(30, 5)
height = subtract(78, 4)
weight = multiply(90, 2)
iq = divide(100, 2)
print ("Age: Height: Weight: IQ: " , age, height, weight, iq)
# A puzzle for the extra credit, type it in anyway.
print ("Here is a puzzle.")
what = add(age, subtract(height, multiply(weight, divide(iq, 2))))
print ("That becomes: ", what, "Can you do it by hand?")
In [7]:
#exercise 24
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 ("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)
print ("With a starting point of: ",start_point)
print ("We'd have ",beans," beans,", jars, " jars and ", crates, " crates.")
start_point = start_point / 10
print ("We can also do that this way:")
print ("We'd have %d beans, %d jars, and %d crates." % secret_formula(start_point))
In [8]:
#exercise 25A
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)
# save the contents of this cell as a python file lphw25.py
In [14]:
#exercise 25
import naam # imported from the file naam.py created and saved in the previous cell
sentence = "All good things come to those who wait."
words = naam.break_words(sentence)
words
sorted_words = naam.sort_words(words)
sorted_words
naam.print_first_word(words)
naam.print_last_word(words)
words
naam.print_first_word(sorted_words)
naam.print_last_word(sorted_words)
sorted_words
sorted_words = naam.sort_sentence(sentence)
sorted_words
naam.print_first_and_last(sentence)
naam.print_first_and_last_sorted(sentence)
In [15]:
#exercise 29
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.")
In [16]:
people = 30
cars = 40
trucks = 15
if cars > people:
print ("We should take the cars.")
elif cars < people:
print ("We should not take the cars.")
else:
print ("We can't decide.")
if trucks > cars:
print ("That's too many trucks.")
elif trucks < cars:
print ("Maybe we could take the trucks.")
else:
print ("We still can't decide.")
if people > trucks:
print ("Alright, let's just take the trucks.")
else:
print ("Fine, let's stay home then.")
In [20]:
#exercise 31
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. What do you do?")
print ("1. Take the cake.")
print ("2. Scream at the bear.")
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!")
else:
print ("Well, doing ", bear, " is probably better. 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. Good job!")
else:
print ("The insanity rots your eyes into a pool of muck. Good job!")
else:
print ("You stumble around and fall on a knife and die. Good job!")
In [21]:
#exercise 32
the_count = [1, 2, 3, 4, 5]
fruits = ['apples', 'oranges', 'pears', 'apricots']
change = [1, 'pennies', 2, 'dimes', 3, 'quarters']
# this first kind of for-loop goes through a list
for number in the_count:
print ("This is count %d" % number)
# same as above
for fruit in fruits:
print ("A fruit of type: %s" % fruit)
# also we can go through mixed lists too
# notice we have to use %r since we don't know what's in it
for i in change:
print ("I got %r" % i)
# we can also build lists, first start with an empty one
elements = []
# then use the range function to do 0 to 5 counts
for i in range(0, 6):
print ("Adding %d to the list." % i)
# append is a function that lists understand
elements.append(i)
# now we can print them out too
for i in elements:
print ("Element was: %d" % i)
In [22]:
#exercise 33
i = 0
numbers = []
while i < 6:
print ("At the top i is %d" % i)
numbers.append(i)
i = i + 1
print ("Numbers now: ", numbers)
print ("At the bottom i is %d" % i)
print ("The numbers: ")
for num in numbers:
print (num)
In [27]:
#exercise 35
from sys import exit
def gold_room():
print ("This room is full of gold. How much do you take?")
choice = input("> ")
if "0" in choice or "1" in choice:
how_much = int(choice)
else:
dead("Man, learn to type a number.")
if how_much < 50:
print ("Nice, you're not greedy, you win!")
exit(0)
else:
dead("You greedy bastard!")
def bear_room():
print ("There is a bear here.")
print ("The bear has a bunch of honey.")
print ("The fat bear is in front of another door.")
print ("How are you going to move the bear?")
bear_moved = False
while True:
choice = input("> ")
if choice == "take honey":
dead("The bear looks at you then slaps your face off.")
elif choice == "taunt bear" and not bear_moved:
print ("The bear has moved from the door. You can go through it now.")
bear_moved = True
elif choice == "taunt bear" and bear_moved:
dead("The bear gets pissed off and chews your leg off.")
elif choice == "open door" and bear_moved:
gold_room()
else:
print ("I got no idea what that means.")
def cthulhu_room():
print ("Here you see the great evil Cthulhu.")
print ("He, it, whatever stares at you and you go insane.")
print ("Do you flee for your life or eat your head?")
choice = input("> ")
if "flee" in choice:
start()
elif "head" in choice:
dead("Well that was tasty!")
else:
cthulhu_room()
def dead(why):
print (why, "Good job!")
#quit()
exit()
def start():
print ("You are in a dark room.")
print ("There is a door to your right and left.")
print ("Which one do you take?")
choice = input("> ")
if choice == "left":
bear_room()
elif choice == "right":
cthulhu_room()
else:
dead("You stumble around the room until you starve.")
start()
In [28]:
#exercise 38
ten_things = "Apples Oranges Crows Telephone Light Sugar"
print ("Wait there are not 10 things in that list. Let's fix that.")
stuff = ten_things.split(' ')
more_stuff = ["Day", "Night", "Song", "Frisbee", "Corn", "Banana", "Girl", "Boy"]
while len(stuff) != 10:
next_one = more_stuff.pop()
print ("Adding: ", next_one)
stuff.append(next_one)
print ("There are %d items now." % len(stuff))
print ("There we go: ", stuff)
print ("Let's do some things with stuff.")
print (stuff[1])
print (stuff[-1]) # whoa! fancy
print (stuff.pop())
print (' '.join(stuff)) # what? cool!
print ('#'.join(stuff[3:5])) # super stellar!
In [29]:
#exercise 39
print ("working with lists")
things = ['a', 'b', 'c', 'd']
print (things[1])
things[1] = 'z'
print (things[1])
things
print ("working with dictionary")
stuff = {'name': 'Zed', 'age': 39, 'height': 6 * 12 + 2}
print (stuff['name'])
print (stuff['age'])
print (stuff['height'])
stuff['city'] = "San Francisco"
print (stuff['city'])
stuff
Out[29]: