加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Exercise 41 - speak class

发布时间:2020-12-20 10:26:16 所属栏目:Python 来源:网络整理
导读:recommend: run this in python2.7 ? import random from urllib import urlopen # in python3.7: import urllib.request import sys WORD_URL = " http://learncodethehardway.org/words.txt " WORDS = [] PHRASES = { " class %%%(%%%): " : " Make a clas

recommend: run this in python2.7

?

import random from urllib import urlopen # in python3.7: import urllib.request
import sys WORD_URL = "http://learncodethehardway.org/words.txt" WORDS = [] PHRASES = { "class %%%(%%%):": "Make a class named %%% that is-a %%%.","class %%%(object):ntdef __init__(self,***)": "class %%% has-a __init__ that takes self and *** parameters.","class %%%(object):ntdef ***(self,@@@)": "class %%% has-a function named *** that takes self and @@@ parameters.","*** = %%%()": "Set *** to an instance of class %%%.","***.***(@@@)": "From *** get the *** function,and call it with parameters self,@@@.","***.*** = ‘***‘": "From *** get the *** attribute and set it to ‘***‘." } # do they want to drill phrases first
PHRASE_FIRST = False if len(sys.argv) == 2 and sys.argv[1] == "english": PHRASE_FIRST = True # load up the words from the website # in python3.7: for word in urllib.request.urlopen(WORD_URL).readlines():
for word in urlopen(WORD_URL).readlines(): WORDS.append(word.strip()) def convert(snippet,phrase): class_names = [w.capitalize() for w in random.sample(WORDS,snippet.count("%%%"))] other_names = random.sample(WORDS,snippet.count("***")) results = [] param_names = [] for i in range(0,snippet.count("@@@")): param_count = random.randint(1,3) param_names.append(,.join(random.sample(WORDS,param_count))) for sentence in snippet,phrase: result = sentence[:] # fake class names
        for word in class_names: result = result.replace("%%%",word,1) # fake other names
        for word in other_names: result = result.replace("***",1) # fake parameter lists
        for word in param_names: result = result.replace("@@@",1) results.append(result) return results # keep going until they hit CTRL-D
try: while True: snippets = PHRASES.keys() random.shuffle(snippets) for snippet in snippets: phrase = PHRASES[snippet] question,answer = convert(snippet,phrase) if PHRASE_FIRST: question,answer = answer,question print(question) raw_input("> ") print("ANSWER: %snt" % answer) except EOFError: print("nBye")

output

crush.drum = drink
> parameter ANSWER: From crush get the drum attribute and set it to drink. balance = Cup() > give Cup an instance named balance ANSWER: Set balance to an instance of class Cup. class Cellar(object): def circle(self,chalk,curtain) > class Celar has-a function circle that takes self,chalk and curtain as parameters ANSWER: class Cellar has-a function named circle that takes self and chalk,curtain parameters. carriage.bun(calendar) > From carriage get the bun attribute and set it to calendar. ANSWER: From carriage get the bun function,and call it with parameters self,calendar. class Battle(object): def __init__(self,dock) > class Battle has-a __init__ function that takes self and dock parameters ANSWER: class Battle has-a __init__ that takes self and dock parameters. class Debt(Blow): > create a class names Debt thtaht is-a Blow ANSWER: Make a class named Debt that is-a Blow. attention.coast = balloon
> from attention get coast and set it as ballon ANSWER: From attention get the coast attribute and set it to balloon. 

?

2019-10-02

17:21:18

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读