Jadval kattaliklar (massivlar)
Download 119 Kb.
|
16-Mavzu
- Bu sahifa navigatsiya:
- Metodlar Vazifasi
remove() metodi yordamida ham jadval elementini o’chirish mumkin, masalan t.remove (19.2) ko’rinishda jadvalning 19.2 elementi o’chiriladi.
Python tilida bir qator metodlar bo’lib, lists/arrays bilan ishlash jarayonida bevosita foydalanish mumkin.
Python tilida boshqa dasturlash tillaridagi kabi massivlarni e’lon qilish, ularning tiplarini avvaldan belgilash kabi ishlar ko’zda tutilmagan. Ular o’rniga list ro’yxatdan foydalaniladi. Yuqoridagi masalalarda massiv elementlari avvaldan ma’lum bo’lgan hollar ko’rib chiqildi. Agar massiv elementlari soni avvaldan berilmagan bo’lsa, u holda uni e’lon qilish zarur bo’ladi. Jadval elementlarini kiritishda bo’sh ro’yxatni a = [] kiritish zarur bo’ladi. Massiv elementlarini kiritish va qayta ishlashda for operatoridan foydalanish qulaylik tug’diradi. Masala. Elementlari butun sonlardan iborat a0, a1, a2, …, an-1, bo’lgan ketma-ketlik berilgan. Ketma-ketlikdagi barcha juft sonlar sonini aniqlash dasturi tuzilsin. a = [] n=int(input('Elementlar sonini kiriting - ')) for i in range(0, n): a.append(int(input())) Ushbu dastur qismi massiv (ro’yxat)ni e’lon qilish, elementlar sonini kiritish va for operatorida append metodi orqali massiv elementlarini yaratadi. Masala shartiga ko’ra ketma-ketlikdagi juft elementlar sonini aniqlash uchun biror o’zgaruvchini, masalan, k o’zgaruvchini kiritib uning boshlang’ich qiymatini 0 ga tenglab olishimiz kerak bo’ladi. Tsikl ichida kiritilgan har bir element juft yoki toqligi (a[i] % 2==0) shart orqali tekshiriladi. Agar a[i] juft bo’lsa, k soni bir qiymatga orttiriladi. Aks holda keyingi elementni tekshirish boshlanadi. Python tilida massiv elementlari 0 dan boshlanganligi uchun sikl 0 dan n-1 gacha davom ettiriladi. Dastur kodining to’la qismi quyidagicha: a = [] n=int(input('Elementlar sonini kiriting - ')) for i in range(0, n): a.append(int(input())) print (a) k = 0 for i in range (n): if a[i] % 2==0: k = k+1 print ('Juft elementlari soni ', k, 'ta') Natija:
12 11 32 44 25 36 [12, 11, 32, 44, 25, 36] Juft elementlar soni 4 ta Dastur kodining 5 satrida print (a) operatori a massiv (ro’yxat)dagi elementlar kiritilganligini ko’rish uchun yozilgan. Shuning uchun bu satrni tushirib qoldirish ham mumkin. Ketma-ketlik elementlarini kiritish jarayonini yanada aniqroq ko’rib turish uchun dastur kodiga massiv elementlarini kiritishdan avval print('a[',i,']q') satrini kiritish dastur kodidagi elementlarni ketma-ket kiritish jarayonini yanada yaxshiroq tushunishga ko’mak beradi. Dasturlashda berilgan o’zgaruvchi (a)ni biror songa (5) bo’linishi tekshirish if (a% 5 == 0) kabi, aks holda bo’linmasligini tekshirish if (a% 5 == 0) kabi amalga oshiriladi. Masala. Elementlari butun sonlardan iborat a0, a1, a2, …, an-1, bo’lgan ketma-ketlik berilgan. Ketma-ketlikdagi ketma-ket keluvchi sonlar ko’paytmasi musbat va ularning yig’indisi toq bo’lgan sonlarni aniqlash dasturi tuzilsin. a = [] n=int(input('Elementlar sonini kiriting - ')) for i in range(0, n): print('a[',i,']=') a.append(int(input())) print (a) for i in range (n): if ((a[i]*a[i+1]) > 0 and (a[i]+a[i+1]) % 2!=0): print (a[i], a[i+1]) Natija:
a[ 0 ]= 11 a[ 1 ]= 12 a[ 2 ]= -5 a[ 3 ]= -7 a[ 4 ]= 6 a[ 5 ]= 5 a[ 6 ]= 31 [11, 12, -5, -7, 6, 5, 31] 11 12 6 5 Masala. Elementlari natural sonlardan iborat bo’lgan a[0..9] jadval berilgan. Jadvaldagi eng katta son necha marta uchrashini aniqlash dasturi tuzilsin. a = [] for i in range(0, 9): print('a[', i, ']=') a.append(int(input())) print (a) k = a[0] for i in range (1,9): if a[i] > k: k = a[i] s = 0 for i in range (9): if a[i] == k: s = s + 1 print('Eng katta son ', s, ' marta uchraydi') Natija:
12 a[ 1 ]= 31 a[ 2 ]= 14 a[ 3 ]= 25 a[ 4 ]= 25 a[ 5 ]= 35 a[ 6 ]= 12 a[ 7 ]= 35 a[ 8 ]= 35 [12, 31, 14, 25, 25, 35, 12, 35, 35] Eng katta son 3 marta uchraydi Ushbu masalada ketma-ketlikdagi elementlar soni va tipi aniq, shuning uchun jadvalni tashkil qilishda elementlar sonini aniq ko’rsatish talab qilinadi. Dasturimizda elementlar soni (0,9) kabi ko’rsatilgan. Avvalo jadvalning eng katta elementini topamiz. Buning uchun ketma-ketlikning birinchi elementini eng katta element sifatida qabul qilib, uni k o’zgaruvchi orqali saqlab olamiz. So’ngra k sonini ketma ketlikning har bir elementi bilan solishtirib chiqamiz. Agar ketma-ketlikdagi elementlarning qaysi biri k sonidan katta bo’lsa, o’sha elementni k soni bilan almashtiramiz, ya’ni k ga o’zlashtiramiz. Shu tariqa ketma-ketlikning eng katta elementi k o’zgaruvchi orqali ifodalanadi. Keyingi siklda aniqlangan eng katta element ketma-ketlikda necha marotaba uchrashi aniqlanadi, bu holda ketma-ketlikdagi har bir element k soni bilan solishtiriladi. Agar solishtirilayotgan element k soniga teng bo’lsa, hisoblagich (schetchik) ga bir soni qo’shib boriladi. Dasturimizda massivning har bir elementi aloxida satrda kiritishga to’g’ri kelgan. Agar kiritilayotgan elementlarni bitta satrga ulash print () funksiyasining majburiy bo’lmagan end = ' ' parametri orqali amalga oshiriladi. Buning uchun dasturimizning uchinchi satrida quyidagicha print('a[',i,']=', end = ' ' )almashtiramiz. U holda massiv elementlarini kiritish quyidagicha o’zgaradi. a[ 0 ]= 12 a[ 1 ]= 20 a[ 2 ]= 11 a[ 3 ]= 15 a[ 4 ]= 20 a[ 5 ]= 19 a[ 6 ]= 20 a[ 7 ]= 20 a[ 8 ]= 20 [12, 20, 11, 15, 20, 19, 20, 20, 20] Eng katta son 5 marta uchraydi Dasturimizda print() funksiyasining end = ' ' parametridagi qo’shtirnoq yoki aporstraf belgilari orasiga bo’sh joy qo’yilganligi uchun, oynada kiritilga elementlar orasida bo’sh joy mavjud. Agar ushbu belgilar orasiga boshqa belgi qo’yilsa, o’sha belgi orqali kiritilayotgan yoki natijalar orasida o’sha belgi chiqariladi. Yana bir masala, jadval elementlarini saralash masalasi bilan tanishib chiqaylik. Boshqa dasturlash tillarida ushbu masalani yechish uchun birinchidan jadvavldagi eng kichik elementni topish (aloxida siklda), eng kichik elementni jadvalning birinchi elementi bilan almashtirish, undan keyin siklni jadvalning ikkinchi elementidan boshlab yana eng kichik elementni topish, uni jadvalning ikkinchi elementi bilan alamshtish kabi bir qator ichma-ich joylashgan sikllardan foydalanar edik. Python tilida bunday ishlarni oson hal etish uchun sort metodidan foydalaniladi. Masala. Elementlari natural sonlardan iborat bo’lgan a[1..10] jadval berilgan. Jadval elementlarini o’sib borish tartibida saralash dasturi tuzilsin. Dastur tuzishda sort – o’sib borish tartibida saralash metodidan foydalanish maqsadga muvofiq. a = [] for i in range(0, 10): print('a[', i, ']=', end = ' ' ) a.append(int(input())) a.sort() print (a) Natija:
a[ 1 ]= 12 a[ 2 ]= 5 a[ 3 ]= 6 a[ 4 ]= 7 a[ 5 ]= 21 a[ 6 ]= 11 a[ 7 ]= 12 a[ 8 ]= 24 a[ 9 ]= 16 [5, 6, 7, 11, 11, 12, 12, 16, 21, 24] Jadval elementlarini teskari tartibda saralash reverse() metodi yordamida amalga oshiriladi. Tekshirib ko’ring Download 119 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling