Python dasturlash tili 4 – amaliyot
Algoritmlar va dasturlash
texnologiyalari kafedrasi dotsent v.b.: Saidov D.Y.
Pythonda ro‘yxatlar bilan ishlash
Ro‘yxatlar
Ro’yxat (list) bu elementlar to’plami yoki ketma-ketligini saqlash uchun mo’ljallangan berilganlar turini ifodalaydi. Ro’yxatlarni hosil qilish uchun kvadrat qavs([]) ichida uning barcha elementlari vergul bilan ajratilgan holda keltiriladi. Ko’pincha, boshqa tillarda shunga o’xshash berilganlar turini massiv deb ataladi. Masalan quyida sonlar ro’yxatini aniqlaymiz:
sonlar = [1, 2, 3, 4, 5]
Ro’yxatlarni hosil qilish uchun list() konstruktoridan ham foydalaniladi:
sonlar1 = []
sonlar2 = list()
Yuqoridagi ikkita ro’yxat o’xshash bo’lib, ular bo’sh ro’yxatni aniqlayapti.
Ro‘yxatlarning metodlari
append(item): ro’yxat oxiriga item elementini qo’shish;
insert(index, item): Ro’yxatga index indeksi bo’yicha item elementini qo’shish;
remove(item): ro’yxatdan item elementini o’chirish. Ushbu metod ro’yxatdagi birinchi uchragan item elementini o’chiradi;
clear(): ro’yxatni tozalash, ya`ni ro’yxatdagi barcha elementlarni o’chirish;
index(item): ro’yxatdagi item elementining joylashgan indeksini qiymat sifatida qaytaradi;
pop([index]): ro’yxatdan index indeksi bo’yicha elementni o’chiradi va qiymat sifatida qaytaradi;
count(item): ro’yxatdagi item elementlar sonini qiymat sifatida qaytaradi;
Ro‘yxatlar bilan ishlash funksiyalar
len(list): ro’yxat uzunligini (elementlari sonini) qiymat sifatida qaytaradi;
sorted(list,[key]): tartiblangan ro’yxatni qiymat sifatida qaytaradi;
min(list): ro’yxatdagi eng kichik elementni qaytaradi;
max(list): ro’yxatdagi eng katta elementni qaytaradi.
Masala
Masala. Telefon raqamlarini o‘zida saqlovchi phonenumbers ro‘yxati yaratilsin. Hamda, ro‘yxatlar bilan ishlash metodlari va funksiyalari yoradmida quyidagilar amalga oshirilsin:
Ro‘yxatga yangi element qo‘shilsin;
Tanlangan va index bo‘yicha element o‘chirilsin;
Tanlangan element tahrirlansin;
Ro‘yxatlar qismlarga ajratilsin: juft va toq o‘rindagilar;
Raqamalar o‘sish va kamiyish bo‘yicha tartiblansiz;
Ro‘yxat tozalansin.
Masala kodi 1
# Bo'sh ro'yxat yaratish phonenumbers = [] while True: print("Buyruqlar:") print("1-Yangi raqam qo'shish") print("2-Tahririlash") print("3-O'chirish") print("4-Oxirgi raqami chiqarish") print("5-Ro‘yxatlar qismlarga" + "ajratilsin: juft va toq o‘rindagilar") print("6-Raqamalar o‘sish va " + "kamiyish bo‘yicha tartiblansiz") print("7-Ro‘yxat tozalansin") print("8-Raqamalarni chop etish") print("0-Chiqish")
Masala kodi 2
# Buyruqni kiritish command = int(input("Buyruq raqamini kiriting: ")) # Birinchi buyroq funksiyasiga murojat qilish if command == 1: AddNumber() # Keyingi if shartlarni qaramaslik uchun continue # Ikkinchi buyroq funksiyasiga murojat qilish if command == 2: EditNumber() continue # Uchunchi buyroq funksiyasiga murojat qilish if command == 3: DeleteNumber() continue
Masala kodi 3
# 4-buyroq funksiyasiga murojat qilish if command == 4: PrintLastNumber() continue # 5-buyroq funksiyasiga murojat qilish if command == 5: SeperateByOddAndPair() continue # 6-buyroq funksiyasiga murojat qilish if command == 6: Sort() continue # 7-buyroq funksiyasiga murojat qilish if command == 7: phonenumbers.clear() continue
# 8-buyroq funksiyasiga if command == 8: for item in phonenumbers: print(item) continue # 0-buyroq funksiyasiga if command == 0: # Exit while break
Masala kodi 4
# Func adding new number def AddNumber(): # Calling talabalar for local global phonenumbers number = input("New number: ") # Add it to end of the phonenumbers' list phonenumbers.append(number)def EditNumber(): global phonenumbers # Input the numbers data for deleting number = input("Enter the number that you want to edit: ") # Finding the item in which the number for item in phonenumbers: if number.lower() == item[0].lower(): print("Enter the data of editing number") item[0] = input("New number: ") brea
Masala kodi 5
# Func: deleting the needed number def DeleteNumber(): global phonenumbers # Input the numbers data for deleting number = input("Enter the number that you want to delete: ") # Finding the item in which the number for item in phonenumbers: if number.lower() == item[0].lower(): phonenumbers.remove(item) break # Func: printing the last number def PrintLastnumber(): global phonenumbers # Get last number's data last_number = phonenumbers[-1] print("The last number: ") print(last_number)
Vazifalar
Yuqoridagi masaladan foydalanib, quyidagi asosiy funksiyalarning kodi yozilsin va testlar o‘tkazilsin: