ผลต่างระหว่างรุ่นของ "418512 ภาคต้น 2554/โปรเจค 1"
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) (→nan) |
||
แถว 43: | แถว 43: | ||
== nan == | == nan == | ||
− | + | nan เป็นตัวย่อของ "not a number" ในที่นี้เราหมายถึงเศษส่วนที่มีส่วนเป็น 0 | |
<tt>RatNum</tt> ใดที่มีส่วนเป็น 0 เราจะเรียกว่า nan | <tt>RatNum</tt> ใดที่มีส่วนเป็น 0 เราจะเรียกว่า nan |
รุ่นแก้ไขเมื่อ 15:31, 2 กรกฎาคม 2554
- หมู่ 1: ให้ไว้ ณ วันที่ 4 กรกฎาคม 2554 ส่งวันที่ 11 กรกฎาคม 2554
- หมู่ 610: ให้ไว้ ณ วันที่ 10 กรกฎาคม 2554 ส่งวันที่ 17 กรกฎาคม 2554
Pull โค้ด
จากการบ้านที่ 3 คุณได้คำการ clone repository 418512first2011 (ถ้าใครยังใช้ชื่ออื่นอยู่ให้เปลี่ยนมาใช้ชื่อนี้ด้วย เพราะผมจะใช้ชื่อนี้ในการ pull) ไว้บนเครื่องของคุณแล้ว
ให้คุณ
- เปลี่ยนไดเรคทอรีไปยังไดเรคทอรีของ repository นั้นบนเครื่องของคุณ
- สั่ง
hg pull https://bitbucket.org/418512/first2011
คุณจะพบว่ามีไดเรคทอรีใหม่ชื่อ prj01 ซึ่งมีโครงสร้างดังต่อไปนี้
prj01/ asserts.py rat_num.py rat_poly.py rat_term.py test_rat_num.py test_rat_poly.py test_rat_term.py
ลง py.test และรันมัน
ให้คุณลง py.test บนเครื่องที่คุณจะใช้ทำงาน (วิธีการลงดูได้ในการบรรยายครั้งที่ 4)
หลังจากนั้นให้เขาสู่ไดเรคทอรี prj01
cd prj01
แล้วรัน
py.test
คุณจะพบว่ามี test ที่รันไม่ผ่านเป็นจำนวนมาก
งานนี้ให้ทำอะไร?
งานของคุณในโปรเจคนี้คือแก้ไขไฟล์ rat_num.py, rat_poly.py, rat_term.py จนกระทั้ง test รันผ่านทั้งหมด
กล่าวคือ คุณจะต้องเติมเมธอดของคลาสต่อไปนี้ให้สมบูรณ์
- RatNum อยู่ในโมดูล rat_num.py ใช้แทนจำนวนตรรกยะต่างๆ
- RatTerm อยู่ในโมดูล rat_term.py ใช้แทนเอกนามที่มีสัมประสิทธิ์เป็นจำนวนตรรกยะ
- RatPoly อยู่ในโมดูล rat_poly.py ใช้แทนพหุนามที่มีสัมประสิทธิ์เป็นจำนวนตรรกยะ
nan
nan เป็นตัวย่อของ "not a number" ในที่นี้เราหมายถึงเศษส่วนที่มีส่วนเป็น 0
RatNum ใดที่มีส่วนเป็น 0 เราจะเรียกว่า nan
RatTerm ใดที่มีสัมประสิทธิ์เป็น 0 เราก็จะเรียกว่า nan ด้วย
RatPoly ใดมีพจน์ที่มีสัมประสิทธิ์เป็น 0 เราก็จะเรียกว่า nan ด้วย
เมื่อแปลง RatNum ที่มีค่าเป็น nan เป็นค่า float ให้คืนค่า float('nan') (nan จริงๆ แล้วเป็นชื่อเรียกค่า float ที่ไม่จัดว่าเป็นจำนวน ซึ่งโดยมากแล้วจะเกิดจากการหารจำนวนใดๆ ด้วย 0)