Refactor โค้ด
หลังจากทบทวนโค้ดแล้ว ให้ทำการ refactor โดยใช้แนวปฏิบัติที่ดีทางวิศวกรรมซอฟต์แวร์ ตัวอย่างเช่น จำนวนงวดการชำระเงินทั้งหมดไม่ควรน้อยกว่าศูนย์ หากเกิดสถานการณ์นี้ขึ้น ให้โยนข้อผิดพลาดออกมา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python
คำแนะนำการฝึกหัด
- เติมเงื่อนไขข้อผิดพลาดโดยใช้ตัวแปรที่แทนจำนวนเดือนทั้งหมดของสินเชื่อ
- โยน
ValueErrorหากจำนวนงวดการชำระเงินรายเดือนน้อยกว่าศูนย์ - Return จำนวนเงินกู้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def calculate_loan_amount(monthly_payment, monthly_interest_rate, nbr_payments):
"""
Calculate the loan amount based on the monthly payment, monthly interest rate, and total number of payments.
"""
# Raise an error if the number of total payment is less than zero
if ____ <= 0:
raise ____("The number of payments must be greater than zero.")
loan_amount = (monthly_payment * ((1 + monthly_interest_rate) ** nbr_payments - 1)) / \
(monthly_interest_rate * (1 + monthly_interest_rate) ** nbr_payments)
# Return the loan amount
return ____