def cheese_and_crackers(cheese_count, boxes_of_crackers):
print(f"You have {cheese_count} cheeses!")
print(f"You have {boxes_of_crackers} boxes of crackers!")
print("Man that's enough for a parth!")
print("Get a blanket.\n")
print("We can just give the function numbers directly:")
cheese_and_crackers(20, 30)
print("OR, we can use bariables 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:")
# 調(diào)用cheese_and_crackers函數(shù)
cheese_and_crackers(amount_of_cheese + 100, amount_of_crackers+ 1000)
練習(xí)
- 倒著將腳本讀完沙绝,在每一行上面添加一行注解,說明這行的作用亚再。
- 從最后一行開始郭膛,倒著閱讀每一行,讀出所有的重要字符來氛悬。
- 自己編至少一個(gè)函數(shù)出來则剃,然后用10種方法運(yùn)行這個(gè)函數(shù)。
答案
from sys import argv
script, input_file = argv
# 定義print_all函數(shù)
def print_all(f):
# 打印文件全部內(nèi)容
print(f.read())
# 定義函數(shù)rewind,參數(shù)f引用文件對象
def rewind(f):
# f圆雁。seek(0)是讓基準(zhǔn)點(diǎn)回到開始位置
# 如果是seek(1),那就是讓基準(zhǔn)點(diǎn)回到當(dāng)前位置
# 如果是seek(2),那就是讓基準(zhǔn)點(diǎn)回到結(jié)束為止
f.seek(0)
# 定義函數(shù)print_a_line,參數(shù)line_count和f都是引用文件對象的
def print_a_line(line_count, f):
#f.readline()是一行一行讀取的
print(line_count, f.readline())
# 把文件input_file對象賦值給current_file
current_file = open(input_file)
# 打印
print("First let's print the whole file:\n")
# 調(diào)用函數(shù)print_all
print_all(current_file)
# 打印
print("Now let's rewind, kind of like a tape.")
# 調(diào)用函數(shù)rewind,作用就和倒帶差不多
rewind(current_file)
# 打印
print("Let's print three lines:")
# 把1賦值給current_line
current_line = 1
# 調(diào)用函數(shù)print_a_line
print_a_line(current_line, current_file)
# current_line自增
current_line = current_line + 1
# 調(diào)用print_a_line函數(shù)
print_a_line(current_line, current_file)
# 自增
current_line = current_line + 1
# 調(diào)用函數(shù)print_a_line
print_a_line(current_line, current_file)
第一次print_a_line被調(diào)用, current_line被賦值1
第二次print_a_line被調(diào)用, current_line被賦值2
第三次print_a_line被調(diào)用, current_line被賦值3