Darslar 24–25 · 2 ta dars · M. R. Fayziyeva, D. M. Sayfurov, N. S. Xaytullayeva. Informatika va axborot texnologiyalari, 9-sinf. «Nashriyot uyi Tasvir», Toshkent, 2020
24
Pythonda ma’lumot turlari
Darslik: 59–61-betlar
MaqsadMa’lumotlar turlarini (int, float, str, bool) ajratadi, type() bilan qiymat turini aniqlaydi va input() bilan kiritilgan satrni int() orqali songa aylantiradi.
Yangi so‘zlar
ma’lumotlar turi · data type: the form of the data in a variable or constant; it decides how much memory is used and which operations are allowedint va float · int is a whole number, float is a real number with a decimal pointstr · str: a string, text placed in quotesbool · bool: a logical type with only two values, True and False
Tushuntirish
Kompyuterdagi ma’lumotlar turlicha bo‘ladi: sonlar, matn, rost yoki yolg‘on qiymatlar. Shuning uchun har bir qiymat o‘z turiga ega: int – butun son (15), float – haqiqiy son (20.5, kasr qismi nuqta bilan yoziladi), str – qo‘shtirnoq ichidagi satr («Lola»), bool – mantiqiy qiymat (True yoki False, birinchi harf bosh). Pythonda turni oldindan e’lon qilish shart emas: o‘zgaruvchining turi unga berilgan qiymatga qarab o‘zi aniqlanadi, uni type() funksiyasi ko‘rsatadi. Turni o‘zgartirish kerak bo‘lsa, int(), float() yoki str() ishlatiladi. Muhim holat: input() foydalanuvchi nima kiritsa ham natijani satr (str) sifatida qaytaradi; shuning uchun kiritilgan 15 ga 1 qo‘shish uchun avval int() bilan songa aylantirish kerak, aks holda TypeError chiqadi. Qo‘shtirnoq ichidagi "15" son emas, matn ekanini unutmang.
Namunalar
type() bilan turlarni ko‘rish: yosh = 15 ⏎ narx = 20.5 ⏎ ism = "Lola" ⏎ ok = True ⏎ print(type(yosh)) ⏎ print(type(narx)) ⏎ print(type(ism)) ⏎ print(type(ok)) Ekranda ketma-ket <class 'int'>, <class 'float'>, <class 'str'>, <class 'bool'> chiqadi.
Kiritilgan satrni songa aylantirish: s = input() ⏎ print(int(s) + 1) 15 kiritilsa, 16 chiqadi. int() bo‘lmasa, print(input() + 1) TypeError beradi, chunki satrga son qo‘shib bo‘lmaydi.
Sinfda faoliyat
«Tur sortirovkasi»: har bir guruh 12 ta kartochkaga qiymat yozadi (7, 7.0, "7", True, -3, "Lola", 0.5, False, "3.14", 100, "", 2.0) va ularni int, float, str, bool qutilariga ajratadi.
Mashq
1
579, "579", 5.79 va False qiymatlarining turlarini ayting.
int, str, float, bool.
2
print(type(3.0)) ekranga nima chiqaradi?
<class 'float'>
3
Butun son kiritib, unga 1 qo‘shib chiqaruvchi dastur yozing.
son = int(input()) ⏎ print(son + 1)
4
Nima uchun input() + 1 xato beradi?
input() satr qaytaradi, satrga son qo‘shib bo‘lmaydi; avval int() bilan songa aylantirish kerak.