Mundarija kirish I. Bob pythonning o'ziga xosligi va modullar modullarni skriptlar sifatida bajarish Modul qidirish yoʻli standart modullar 1 II.
Download 47.49 Kb.
|
7. PYTHON DASTURLASH TILIDA MODULLAR
2.4 decimal moduliSuzuvchi nuqtali sonlar bilan ishlashda hisoblash natijasining to‟g‟iri emasligiga duch kelamiz:
round() funksiyasini soni yaxlitlash qo‟llash yordamida bu muammoni yechishi mumkin. Bundan tashqari decimal ichki modulini ishlatish orqali ham bu muammoni yechish mumkin. Bu moduldagi Decimal sinfi asosiy sonlar bilan ishlash kompanentasi hisoblanadi. Bu sinfni qo‟llash uchun Decimal konstruktori yordamida uning obyektini yaratish zarur. Konstruktorga argument sifatida sonning satrdagi ifodasi uzatiladi. (2.3.5-rasm)
2.3.5-rasm Bundan so‟ng Decimal obyektini arifimetik amallarda mumkin.2.3.6-rasm
2.3.6-rasm Decimal bilan amallarda butun sonlarni ham ishlatish mumkin. (2.3.7-rasm)
2.3.7-rasm Ammo, kasrli amalarda float va Decimal aralashtirmaslik zarur. (2.3.8-rasm)
2.3.8-rasm Sonning kasr qismdagi raqamlar nechta bo‟lishini quyidagicha aniqlash mummkin. (2.3.9-rasm)
2.3.9-rasm "0.10" satr sonning kasr qismida ikkita belgi bo‟lishini ko‟rsatadi, agarda oxirgi belgilar nol bo‟lsa ham. Mos ravishda "0.100" satr sonning kasr qismida 3 belgi bo‟lishini anglatadi. Sonlarni yaxlitlash Decimal obyektlari sonlarni yaxlitlaydigan quantize() metodiga ega. Bu metodning birinchi argumenti sifatida sonning yaxlitlash formatini ko‟rsatadigan Decimal obyekti uzatiladi. (2.3.10-rasm)
2.3.10-rasm Foydalanilayotgan "1.00" satr sonning kasr qismidagi belgilar soni ikkita belgigacha yaxlitlanishini ko‟rsatadi. Kelishuv bo‟yicha ROUND_HALF_EVEN o‟zgarmasi soni yuqori tomonga yaxlitlashni anglatadi, agarda son juft bo‟lmasa va keyingisi 4 dan katta bo‟lsa, masalan. (2.3.11-rasm)
2.3.11-rasm Bu erda yaxlitlash tartibi quantize() funksiyasiga ikkinchi parametr sifatida uzatilgan. "1.00" satri sonning kasr qismini yaxlitlash ikkita belgigacha bo‟lishini anglatadi. Lekin, birinchi holda, "10.025" kasr qismdagi ikkinchi son-2 juft, shuning uchun, keyingi son 5 bo‟lishiga qaramasdan, ikki uchga yaxlitlanmayapti. Ikkinchi holda, "10.025" ikkinchi son-3 juft emas, shuning uchun ham 4 ga yaxlitlanayapti. Bunday yaxlitlashdagi tartib har doim ham foydali bo‟lmasligi mumkin, shu sababli ham, quyidagi o‟zgamaslardan foydalanish orqali tartibni qayta aniqlash mumkin: ROUND_HALF_UP – soni yuqori tomonga yaxlitlaydi, agarda undan keyingi son 5 yoki 5 dan katta bo‟lsa; ROUND_HALF_DOWN – soni yuqori tomonga yaxlitlaydi, agarda undan keyingi son 5 dan katta bo‟lsa. (2.3.12-rasm)
2.3.12-rasm ROUND_05UP – faqat 0 ni birga yaxlitlaydi, agarda keyin 5 kelsa. (2.3.13-rasm)
2.3.13-rasm ROUND_CEILING – keyingi son qanday bo‟lishidan qa‟tiy nazar soni yuqori tomonga yaxlitlaydi. (2.3.14-rasm)
2.3.14-rasm ROUND_FLOOR – keyingi son qanday bo‟lishdan qa‟tiy nazar soni yaxlitlamayadi. (2.3.15-rasm)
2.3.15-rasm Download 47.49 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling