import random #匯入random庫
from urllib import urlopen #從urllib中匯入urlopen
import sys #匯入sys
word_url = ""
words =
phrases =
#do they want to drill phrases first
phrase_first = false
if len(sys.argv) == 2 and sys.argv[1] == "english": #如果命令引數有兩個而且第二個引數變數是「english」
phrase_first = true
#load up the words from the website #從**載入單詞
for word in urlopen(word_url).readline(): #遍歷txt中的行
def convert(snippet, phrase): #定義convert函式,包括兩個引數
class_names = [w.capitalize() for w in #定義類名稱,w變數大寫
random.sample(words, snippet.count("%%%"))] #從words中無放回抽取snippet中「%%%」出現的次數
other_names = random.sample(words, snippet.count("***"))#從words中無放回抽取,次數是snippet中「***」出現的次數
results =
param_names =
for i in range(0, snippet.count("@@@")):
param_count = random.randint(1, 3) #param_count=1,2,3
for sentence in snippet, phrase:
result = sentence[:]
#fake class names
for word in class_names:
result = result.replace("%%%", word, 1) #用word替換%%%,替換1次
#fake other names
for word in other_names:
result = result.replace("***", word, 1)# 用word替換***,替換1次
#fake parameter lists
for word in param_names:
result = result.replace("@@@", word, 1)#用word替換@@@,替換1次
return results
# keep going until they hit ctrl-d
try:
while true:
snippets = phrases.keys() #snippets等於phrases的所有鍵
random.shuffle(snippets) #將snippets中的元素打亂
for snippet in snippets:
phrase = phrases[snippet]
question, answer = convert(snippet, phrase)#呼叫convert函式,並使用引數snippet,phrase呼叫它
if phrase_first:
question, answer = answer, question #反向練習
print question#列印問題
raw_input("> ")#使用者輸入
print "answer: %s\n\n" % answer#顯示答案
except eoferror:
print "\nbye"
1.有為空的現象
2.引數相同
習題41 學習物件導向術語
import random from urllib.request import urlopen import sys word url words phrases do they want to drill pharases first if len sys.argv 2 and sys.argv...
學習物件導向之物件導向的術語
類類作為設計藍圖來建立物件的 段,它描述了物件的特徵 該物件具有什麼樣的屬性,怎樣使用物件完成一些任務,他對事件進行怎樣的響應等!物件物件是類的乙個例項,通常通過呼叫類的乙個建構函式來建立它!方法方法是在類中定義的函式,一般而言,乙個方法描述了物件可以執行的乙個操作www.cppcns.com!屬性...
物件導向程式設計之術語
術語 含義屬性 一小段資訊,例如顏色 高度或重量,描述物件的乙個特性 字段物件內部的指定值 操作屬於物件的一段 方法操作的同義詞 訊息從乙個物件傳送到另乙個物件的請求 呼叫執行操作,以響應訊息 執行呼叫的同義詞 關聯兩個物件之間的直接或間接連線 聚合強關聯,隱含著某種部分 一體層次結構 復合強聚合,...