เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การใช้ doctest

เราเพิ่งเรียนรู้เกี่ยวกับ doctest ซึ่งเป็นวิธีง่าย ๆ ในการทดสอบฟังก์ชันเบื้องต้น หากคุณเขียน docstring พร้อมตัวอย่างครบถ้วน ในแบบฝึกหัดนี้จะได้ฝึกทดสอบและแก้ไขข้อผิดพลาดด้วย doctest โดยตรง

สิ่งต่อไปนี้ถูกโหลดไว้ในสภาพแวดล้อมแล้ว: doctest, Counter, และ text_analyzer

โปรดทราบว่าคำตอบของ docstring ต้องตรงกับเฉลยทุกประการ หากทำผิดหลายครั้งติดต่อกัน ลองรีเซ็ตเป็นโค้ดตัวอย่างแล้วเริ่มใหม่อีกครั้ง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

หลักการวิศวกรรมซอฟต์แวร์ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติมโค้ด input ของตัวอย่างใน docstring ของฟังก์ชัน sum_counters
  • เติมผลลัพธ์ที่คาดหวังเพื่อให้ตัวอย่างใน docstring สมบูรณ์
  • รันฟังก์ชัน testmod จาก doctest เพื่อทดสอบโค้ดตัวอย่างของฟังก์ชัน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

def sum_counters(counters):
    """Aggregate collections.Counter objects by summing counts

    :param counters: list/tuple of counters to sum
    :return: aggregated counters with counts summed

    >>> d1 = text_analyzer.Document('1 2 fizz 4 buzz fizz 7 8')
    >>> d2 = text_analyzer.Document('fizz buzz 11 fizz 13 14')
    >>> ____([d1.word_counts, d2.word_counts])
    ____
    """
    return sum(counters, Counter())

____
แก้ไขและรันโค้ด