Bitta vazifa, bitta funksiya
Funksiya kiruvchi qiymatni qabul qilib natija qaytarsin. Print bilan return farq qiladi: print ko‘rsatadi, return natijani keyingi kodga beradi. Nomi vazifani ifodalasin: valid_port kabi.
Shartnoma
Funksiya qanday tur qabul qilishi, qanday qaytarishi va xatoda nima qilishi aniq bo‘lsin. Type hint avtomatik runtime himoya emas. isinstance(True, int) rost: boolean integerning kichik turi. Port validatsiyasida type(value) is int bu noziklikni ajratadi.
Test dizayni
Normal holat bilan cheklanmay, pastki/yuqori chegaralar, noto‘g‘ri tur va bo‘sh qiymatni tekshiring. assert o‘quv testi uchun qulay; production ruxsat tekshiruvini assert’ga qo‘ymang, chunki optimizatsiyada u o‘chishi mumkin. Xatoni test bilan qayta ko‘rsatib, keyin tuzating.
Python’da ko‘rib chiqamiz
def valid_port(value):
return type(value) is int and 1 <= value <= 65535
cases = [0, 1, 443, 65535, 65536, True]
print(sum(valid_port(value) for value in cases))
assert valid_port(443)
assert not valid_port(True)Misolni
Mustaqil mashq
String, None va manfiy son testlarini qo‘shing. Natijani kutgan qiymat bilan solishtiring. Funksiyaga docstring yozing.