
11-ameliy Python
.pdf
11-ámeliy jumıs
Python programmalastırıw tilinde kóplikler (Sets)
Teoriyalıq bólim:
1.Kóplik (Set) túsinigi:
Kóplik - bul Python tilindegi qáytalanatuǵın elementlerdi saqlap qalmaytuǵın, tártipsiz hám ózgeriwsheń kollekciya bolıp tabıladı. Kóplikler figuralı qawsırmalar {} menen belgilenedi yamasa set() funkciyası arqalı jaratıladı.
2.Kópliklerdiń tiykarǵı qásiyetleri:
Qáytalanatuǵın elementlerdi saqlap qalmaydı
Tártipsiz (indekslengen emes)
Ózgeriwsheń (mutable)
Tek ózgermeytuǵın (immutable) elementlerdi saqlawı múmkin 3. Kópliklerdiń artıqmashılıqları:
Tez izlew hám elementlerdi tekseriwde
Qáytalanatuǵın elementlerdi avtomatik túrde joq etiwde
Matematikalıq kóplik ámellerinde (birlespe, kesispe, ayırma) 4. Kópliklerdiń kemshilikleri:
Tártipsiz bolǵanlıǵı sebepli indeks arqalı elementlerge kirise almaymız
Tek ózgermeytuǵın elementlerdi saqlawı múmkin
Ámeliy bólim:
1. Kóplik jaratıw:
# Figuralı qawsırmalar arqalı
fruits = {'alma', 'almurt', 'banan', 'apelsin'}
#set() funkciyası arqalı numbers = set([1, 2, 3, 4, 5])
#Bos kóplik
empty_set = set()
2. Kóplikke element qosıw:
fruits.add('juzim')
print(fruits) # {'alma', 'almurt', 'banan', 'apelsin', 'juzim'}
fruits.update(['ananas', 'qawın'])
print(fruits) # {'alma', 'almurt', 'banan', 'apelsin', 'juzim', 'ananas', 'qawın'}
3. Kóplikten element óshiriw:
fruits.remove('banan')
print(fruits) # {'alma', 'almurt', 'apelsin', 'juzim', 'ananas', 'qawın'}

# Eger element bolmasa qáte bermeydi
fruits.discard('mango')
4. Kóplikler ústin ámellerdi qollanıw:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# Birlespe
union_set = set1.union(set2)
print(union_set) # {1, 2, 3, 4, 5, 6, 7, 8}
# Kesispe
intersection_set = set1.intersection(set2)
print(intersection_set) # {4, 5}
# Ayırma
difference_set = set1.difference(set2)
print(difference_set) # {1, 2, 3}
5. Kópliklerdi salıstırıw:
set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}
print(set1.issubset
ÁMELIY MÍSALLAR
1. Studentler dizimin kóplik túrinde saqlap, olardı basqarıw:
# Studentler kópligi
students = {'Aliy', 'Ayjan', 'Berdaq', 'Gúlnara', 'Dawlet'}
#Jańa student qosıw students.add('Jańabay')
print("Jańa student qosılǵannan keyin:", students)
#Bir neshe student qosıw
new_students = {'Marat', 'Sáwle', 'Timur'}
students.update(new_students)
print("Bir neshe student qosılǵannan keyin:", students)
#Studentti óshiriw students.remove('Aliy')
print("Aliy óshirilgennen keyin:", students)
#Studentti izlew
search_name = 'Gúlnara'
if search_name in students:
print(f"{search_name} student diziminde bar")
else:
print(f"{search_name} student diziminde joq")
2. Eki klasstıń oqıwshıların salıstırıw:
class_a = {'Aliy', 'Berdaq', 'Gúlnara', 'Jańabay', 'Marat'}
class_b = {'Ayjan', 'Dawlet', 'Gúlnara', 'Sáwle', 'Timur'}
# Eki klassta da bar bolǵan oqıwshılar

common_students = class_a.intersection(class_b)
print("Eki klassta da oqıytugın oqıwshılar:", common_students)
#Tek A klassında bar bolǵan oqıwshılar only_in_a = class_a.difference(class_b)
print("Tek A klassında oqıytugın oqıwshılar:", only_in_a)
#Barlıq oqıwshılar dizimi
all_students = class_a.union(class_b)
print("Barlıq oqıwshılar:", all_students)
3. Sózlerdiń unikallıǵın tekseriwde kópliklerdi qollanıw:
text = "Bul bir úlken tekst. Bul tekstte sózler qaytalanıwı múmkin. Biz usı teksttegi unikal sózlerdi tabamız."
# Tekstti sózlerge ajıratıw hám kóplikke aylandırıw
words = set(text.lower().split())
print("Teksttegi unikal sózler sanı:", len(words))
print("Unikal sózler:", words)
4. Sanlar kópligi menen islew:
numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# Jup sanlar kópligi
even_numbers = {num for num in numbers if num % 2 == 0}
print("Jup sanlar:", even_numbers)
# Taq sanlar kópligi
odd_numbers = numbers.difference(even_numbers)
print("Taq sanlar:", odd_numbers)
# 5 ten úlken sanlar
greater_than_five = {num for num in numbers if num > 5}
print("5 ten úlken sanlar:", greater_than_five)
5. Kóplikler járdeminde dublikatlardı joq etiw:
# Dublikatlı dizim
numbers_with_duplicates = [1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10]
# Kóplik járdeminde dublikatlardı joq etiw
unique_numbers = set(numbers_with_duplicates)
print("Dáslepki dizim:", numbers_with_duplicates)
print("Dublikatları joq etilgen dizim:", list(unique_numbers))
6. Kóplikler menen logikalıq operaciyalardı qollanıw:
A= {1, 2, 3, 4, 5}
B= {4, 5, 6, 7, 8}
C= {3, 4, 5, 9, 10}
#Barlıq úsh kóplikte bar bolǵan elementler common_elements = A & B & C
print("Barlıq úsh kóplikte bar bolǵan elementler:", common_elements)
#A yamasa B de bar, biraq C de joq bolǵan elementler
in_a_or_b_not_c = (A | B) - C
print("A yamasa B de bar, biraq C de joq bolǵan elementler:", in_a_or_b_not_c)

# Tek ǵana bir kóplikte bar bolǵan elementler
unique_to_one_set = (A ^ B ^ C) - ((A & B) | (B & C) | (A & C))
print("Tek ǵana bir kóplikte bar bolǵan elementler:", unique_to_one_set)
7. Kópliklerdi qollanıp, tillerdi úyreniw progressin baqlawǵa mısal:
english_words = {"apple", "book", "cat", "dog", "elephant"}
learned_words = set()
def learn_word(word):
if word in english_words:
learned_words.add(word)
print(f"'{word}' sózi úyrenildi!")
else:
print(f"'{word}' sózi dizimde joq.")
def check_progress():
remaining_words = english_words - learned_words
progress = (len(learned_words) / len(english_words)) * 100
print(f"Siz {len(learned_words)} sóz úyrendińiz. ({progress:.2f}% progress)")
print(f"Qalǵan sózler: {remaining_words}")
#Sózlerdi úyreniw learn_word("apple") learn_word("book")
learn_word("sun") # Bul sóz dizimde joq
#Progressti tekserip kóriw
check_progress()
Test
1.Kóplik (set) nege tiykarlanǵan strukturа?
a)Izbe-izlik
b)Hashlew
c)Aǵash
d)Baylanıslı dizim
2.Pythonda bos kóplikti qalay jaratıw múmkin?
a)set()
b){}
c)[]
d)()
3.Qaysı metod eki kópliktiń kesilispesin qaytaradı?
a)union()
b)intersection()
c)difference()
d)symmetric_difference()
4.Kóplikte elementler qanday tártipte saqlanadı?
a)Kiritilgen tártipte
b)Ósiwshi tártipte
c)Kemeyiwshi tártipte
d)Tártipsiz (anıqlanbaǵan)

5.Qaysı metod bir kóplikten ekinshi kópliktiń elementlerin alıp taslaydı?
a)remove()
b)discard()
c)difference()
d)subtract()
6.Pythonda kóplikke element qosıw ushın qaysı metodtan paydalanıladı?
a)append()
b)insert()
c)add()
d)extend()
7.Eki kópliktiń simmetriyalıq ayırmasın tabıw ushın qaysı operatordan paydalanıw múmkin?
a)&
b)|
c)-
d)^
8.Kóplikte dublikat elementler boladı ma?
a)Awa
b)Yaq
c)Tek sanlar ushın
d)Tek stringler ushın
9.Qaysı metod kóplikten qálegen bir elementi alıp taslaydı hám qaytaradı?
a)remove()
b)discard()
c)pop()
d)extract()
10.Kóplik (set) ózgermeytuǵın (immutable) struktura ma?
a)Awa
b)Yaq
c)Tek bos kóplik ushın
d)Tek sanlar kópligi ushın
Juwaplar:
1.b) Hashlew
2.a) set()
3.b) intersection()
4.d) Tártipsiz (anıqlanbaǵan)
5.d) subtract()
6.c) add()
7.d) ^
8.b) Yaq

9.c) pop()
10.b) Yaq