使用Python類構建抽認卡的Python程式


通常,抽認卡是一種學習工具,它由一張印有資訊的小卡片或紙組成。這些卡片通常用於幫助記憶和學習事實、詞彙、定義、方程式或任何其他可以以問答形式呈現的資訊。

隨著技術的進步,抽認卡也被改編成數字格式,例如移動應用程式和線上平臺,這些平臺提供了附加功能,例如多媒體內容、間隔重複演算法和進度跟蹤。

Python中有多種構建抽認卡的方法,讓我們逐一瞭解。

抽認卡作為類屬性

在Python中,類屬性是一個繫結到類而不是類例項的變數。它在類的所有例項之間共享,並且可以使用類名或類的例項來訪問和修改。

示例

在這個例子中,我們將抽認卡定義為類屬性,每個抽認卡物件都將具有用於儲存問題和答案的屬性。我們可以在類中定義方法來顯示問題,接收使用者的答案輸入,並檢查答案是否正確。

class Flashcard:
   def __init__(self, question, answer):
      self.question = question
      self.answer = answer
   def display_question(self):
      print("Question:", self.question)
   def get_user_answer(self):
      return input("Your answer: ")
   def check_answer(self, user_answer):
      return user_answer == self.answer
card = Flashcard("What is the capital of India?", "Delhi")
card.display_question()
user_answer = card.get_user_answer()
is_correct = card.check_answer(user_answer)
print("Your answer is correct:", is_correct)

輸出

Question: What is the capital of India?
Your answer: Delhi
Your answer is correct: True

抽認卡作為抽認卡類的例項

在這種方法中,每張抽認卡都表示為一個字典,其中問題和答案儲存為鍵值對。

示例

在這個例子中,每張抽認卡都表示為Flashcard類中的一個字典。`__init__`方法使用問題和答案作為鍵值對初始化抽認卡字典。我們可以使用相應的鍵訪問每張抽認卡的問題和答案。

class Flashcard:
   def __init__(self, question, answer):
      self.flashcard = {"question": question, "answer": answer}
flashcard1 = Flashcard("What is the capital of France?", "Paris")
flashcard2 = Flashcard("Who painted the Mona Lisa?", "Leonardo da Vinci")
print(flashcard1.flashcard["question"])
print(flashcard1.flashcard["answer"])
print(flashcard2.flashcard["question"])
print(flashcard2.flashcard["answer"])

輸出

What is the capital of France?
Paris
Who painted the Mona Lisa?
Leonardo da Vinci

帶有方法的抽認卡類

在這種方法中,每張抽認卡都表示為Flashcard類的例項,該類還包含用於顯示問題和答案的方法。

示例

在這個例子中,每張抽認卡都表示為Flashcard類的例項。`__init__`方法初始化每張抽認卡的問題和答案屬性。該類還包含`display_question()`和`display_answer()`方法,用於顯示每張抽認卡的問題和答案。

class Flashcard:
   def __init__(self, question, answer):
      self.question = question
      self.answer = answer
   def display_question(self):
      print(self.question)
   def display_answer(self):
      print(self.answer)
flashcard1 = Flashcard("What is the capital of France?", "Paris")
flashcard2 = Flashcard("Who painted the Mona Lisa?", "Leonardo da Vinci")
flashcard1.display_question()
flashcard1.display_answer()
flashcard2.display_question()
flashcard2.display_answer()

輸出

What is the capital of France?
Paris	
Who painted the Mona Lisa?
Leonardo da Vinci

更新於:2023年8月2日

508 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.