Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

11-ameliy Python

.pdf
Скачиваний:
1
Добавлен:
25.10.2024
Размер:
347.56 Кб
Скачать

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

Соседние файлы в предмете Программирование на Python