2011-10-06 7 views
0

는 지금 내 플래시 카드 게임 확장 가능한 정의/용어 쌍을 어떻게 모델링 할 수 있습니까?

  • 가로 덩어리 그 주의 용어 설명을 추가 내가

    • 가 사전
    • 같은 용어의 일주일의 가치에 대한 용어와 번역을 정의한 prepvocab() 방법을 사용하고 있습니다 사용자가 자신의 "주"를 선택 사전의 목록,

    I 규정 및 번역의 새로운 일주일의 가치를 추가 할 때마다 공부, 나는 가능한 사전 목록에 다른 요소를 추가 붙어있어. 분명히 이것을 좋은 일이 아닌 것으로 볼 수 있습니다.

    class Vocab(object): 
    
    def __init__(self): 
        vocab = {} 
        self.new_vocab = vocab 
        self.prepvocab() 
    
    def prepvocab(self): 
        week01 = {"term":"translation"} #and many more... 
        week01d = "Simple Latvian words" 
    
        week02 = {"term":"translation"} 
        week02d = "Simple Latvian colors" 
    
        week03 = {"I need to add this":"to self.selvocab below"} 
        week03d = "Body parts" 
    
        self.selvocab = [week01, week02] #, week03, weekn] 
        self.descs = [week01d, week02d] #, week03, weekn] 
        Vocab.selvocab(self) 
    
    def selvocab(self): 
        """I like this because as long as I maintain self.selvocab, 
        the for loop cycles through the options just fine""" 
        for x in range(self.selvocab): 
         YN = input("Would you like to add week " \ 
            + repr(x + 1) + " vocab? (y or n) \n" \ 
            "Description: " + self.descs[x] + " ").lower() 
         if YN in "yes": 
          self.new_vocab.update(self.selvocab[x]) 
        self.makevocab() 
    

    분명히 이것이 20 + 아니오 질문에 고통이 될 것입니다. 나는 현재 저주에 대해 읽고 있으며, 모든 설명을 한 번에 인쇄하고 사용자가 라운드를 위해 공부하고 싶은 모든 것을 선택하도록 생각하고있었습니다.

    내 코드의이 부분을 더 잘 유지 관리하려면 어떻게해야합니까? 아무도 급진적 인 정밀 검사를받지 못해 .... 절차 적이지 않은가?

  • 답변

    0

    Pickling objects into a database은 프런트 엔드에서 매주 수업을 수정할 수있는 인터페이스를 만들기 위해 어떤 노력 할게요 의미하지만입니다 시간이 꽤 가치있는.

    0

    용어 : 번역 쌍과 설명을 텍스트 파일에 어떤 방식으로 저장해야합니다. 그러면 프로그램에서 텍스트 파일을 구문 분석하고 사용 가능한 모든 수업을 찾아야합니다. 이렇게하면 코드를 수정하지 않고도 사용할 수있는 레슨 세트를 확장 할 수 있습니다.

    수업 선택시 이용 가능한 수업과 설명을 표시하는 print_lesson_choices 함수를 작성한 다음 입력시 사용자 입력을 요청하십시오. 대신 모든 수업에 대한 그들의 질문에, 왜 같은 프롬프트 뭔가를하지 :

    self.selected_weeks = [] 
    
    def selvocab(self): 
        self.print_lesson_choices() 
        selection = input("Select a lesson number or leave blank if done selecting: ") 
        if selection == "": #Done selecting 
         self.makevocab() 
        elif selection in self.available_lessons: 
         if selection not in self.selected_weeks: 
          self.selected_weeks.append(selection) 
          print "Added lesson %s"%selection 
         self.selvocab() #Display the list of options so the user can select again 
        else: 
         print "Bad selection, try again." 
         self.selvocab() 
    
    +0

    의견을 보내 주셔서 감사합니다. 나는 이것을 조사해 보았고 파이썬 세계를 그렇게 단순한 학습 지원으로 남겨두고 싶지는 않지만 [this] (http://www.python.org/workshops/1997-10/)을 찾았습니다. proceedings/shprentz.html), 내가 찾고 있던 것 (그것이 과잉 임)이있다. – Droogans

    관련 문제