習(xí)題 18:? 命名椎椰、變量逆济、代碼、函數(shù)
# this one is like your scripts with argv
def print_two(*args):
arg1,arg2 =args
print("arg1:%r, arg2:%r"% (arg1,arg2))
# ok, that *args is actually pointless, we can just do this
def print_two_again(arg1,arg2):
print("arg1:%r, arg2:%r"% (arg1,arg2))
#this just takes one argument
def print_one(arg1):
print("arg1:%r"% arg1)
#this one takes no arguments
def print_none():
print("I got nothing.")
print_two("Zed","Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()
習(xí)題 19:? 函數(shù)和變量
def cheese_and_crackers(cheese_count,boxer_of_crackers):
print("You have %d cheeses!"% cheese_count)
print("You have %d boxes of crackers!"% boxer_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)
習(xí)題 20:? 函數(shù)和文件
fromsysimportargv
script,input_file = argv
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:")
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)
習(xí)題 21:? 函數(shù)可以返回東西
def add(a,b):
print("ADDING %d + %d"% (a,b))
returna + b
def subtract(a,b):
print("SUBTRACTING %d - %d"% (a,b))
returna - b
def multiply(a,b):
print("MULTIPLING %d * %d"% (a,b))
returna * b
def divede(a,b):
print("DIVIDING %d /%d"% (a,b))
returna / b
print("Let's do some math with just functions!")
age = add(30,5)
height = subtract(78,4)
weight = multiply(90,2)
iq = divede(100,2)
print("Age:%d ,Height:%d, Weight:%d ,IQ:%d"% (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,divede(iq,2))))
print("That becomes: ",what,"Can you do it by hand?")
習(xí)題 22:? 到現(xiàn)在你學(xué)到了哪些東西吠各?
/
習(xí)題 23:讀代碼
/
習(xí)題 24:? 更多練習(xí)
print("Let's practice everyting.")
print("You\'d need to know\'bout escapes with\\that do\nnewlines and\ttabs.")
#\n 換行 \t縮進(jìn)
poem ="""
\tThe lovely world
with logic so firmly planted
cannot discern\nthe 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: %s "% five)
def secrdt_formula(started):
jelly_beans = started *500
jars = jelly_beans /1000
crates = jars /100
returnjelly_beans,jars,crates
start_point =10000
beans,jars,crates = secrdt_formula(start_point)
print("With a starting point of :%d"% start_point)
print("We'd have %d beans, %d jar, and %d crates."% (beans,jars,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."% secrdt_formula(start_point))
習(xí)題 25:? 更多更多的練習(xí)
def break_words(stuff):
"""This function will break up words for us."""
words = stuff.split(' ')
returnwords
def sort_words(words):
"""Sorts the words."""
returnsorted(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)
returnsort_words()
def print_first_and_last(sentence):
"""Printes 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)
習(xí)題 26:? 恭喜你唠雕,現(xiàn)在可以考試了!
def break_words(stuff):
"""This function will break up words for us."""
words = stuff.split(' ')
returnwords
def sort_words(words):
"""Sorts the words."""
returnsorted(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)
returnsort_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)
print("Let's practice everything.")
print('You\'d need to know\'bout escapes with\\that do\nnewlines and\ttabs.')
poem ="""
\tThe lovely world
with logic so firmly planted
cannot discern\nthe needs of love
nor comprehend passion from intuition
and requires an explantion
\n\t\twhere there is none.
"""
print("--------------")
print(poem)
print("--------------")
five =10-2+3-5
print("This should be five: %s"% five)
def secret_formula(started):
jelly_beans = started *500
jars = jelly_beans /1000
crates = jars /100
returnjelly_beans,jars,crates
start_point =10000
beans,jars,crates = secret_formula(start_point)
print("With a starting point of: %d"% start_point)
print("We'd have %d jeans, %d jars, and %d crates."% (beans,jars,crates))
start_point = start_point /10
print("We can also do that this way:")
print("We'd have %d beans, %d jars, and %d crabapples."% secret_formula(start_point))
sentence ="All god\tthings come to those who weight."
importex25
words = ex25.break_words(sentence)
sorted_words = ex25.sort_words(words)
print_first_word(words)
print_last_word(words)
print_first_word(sorted_words)
print_last_word(sorted_words)
sorted_words = ex25.break_words(sentence)
print(sorted_words)
print_first_and_last(sentence)
print_first_and_last_sorted(sentence)