AXV

String: indeks, slicing va metodlar

Matndan kerakli harfni olamiz, bo‘lagini kesamiz va ko‘rinishini o‘zgartiramiz

9-sinfAdvanced Back-end va DevOps4-hafta · 11-dars

Bugun nimalarni o‘rganamiz?

Indeks

Musbat va manfiy indeks

Slicing

[boshlanish : tugash : qadam]

Metodlar

upper, lower, title, capitalize

Bu qayerda kerak?

Ism tozalash

"dAvRoN" -> "Davron"

Fayl kengaytmasi

"rasm.png" dan oxirgi 3 belgi

Palindrom

"radar" teskarisi ham "radar"

01

Indeks

Har bir belgining tartib raqami

Indeks 0 dan boshlanadi (1.54-rasm)

012345 P y t h o n -6-5-4-3-2-1 word[0] -> "P" word[-1] -> "n"

Indeks: kodda


word = "Python"
print(word[0])    # P
print(word[1])    # y
print(word[-1])   # n (oxirgi)
        
word[6] -> IndexError: string index out of range (oxirgi indeks 5).

Mini-test

s = "Backend" bo‘lsa, s[-2] nima?

-1 = d, -2 = n.
02

Slicing

Stringdan kerakli bo‘lakni kesib olish

Slicing shakli (1.55-rasm)

word[ 1 : 4 : 1 ] boshlanishkiradi tugashkirmaydi! qadamodatda 1

word[1:4] qanday ishlaydi?

012345 P y t h o n 4 - to‘xtash (kirmaydi) natija: "yth"

5 ta asosiy kesish

word[1:4] -> "yth"

1-indeksdan 4-gacha (4 kirmaydi)

word[:3] -> "Pyt"

Boshlanish yo‘q: 0 dan

word[3:] -> "hon"

Tugash yo‘q: oxirigacha

word[::2] -> "Pto"

Har ikkinchisi: 0, 2, 4

word[::-1] -> "nohtyP"

Teskari tartib

[::-1] bilan palindrom


soz = "radar"
if soz == soz[::-1]:
    print("Palindrom")
else:
    print("Palindrom emas")
          

Yana misollar: pastga

Palindrom so‘zlar

radarkiyiknonallaqoshiq - emas

Oldingi haftadagi if/else + bugungi slicing = foydali dastur.

Bashorat qiling

matn = "Dasturlash" bo‘lsa, matn[:6] nima?

0 dan 6 gacha, 6 kirmaydi: 0-5 indekslar.
03

String metodlari

Harflar o‘lchamini o‘zgartiramiz (1.56-rasm)

4 ta metod - 4 xil natija

s = "salom dunyo" upper()SALOM DUNYO lower()salom dunyo title()Salom Dunyo capitalize()Salom dunyo Har biri YANGI string qaytaradi - s o‘zgarmaydi

Metodlar va asl string


s = "salom dunyo"
yangi = s.title()
        

Metodlar va asl string


s = "salom dunyo"
yangi = s.title()
print(yangi)   # Salom Dunyo
print(s)       # salom dunyo - o'zgarmadi
        
Natijani saqlash uchun o‘zgaruvchiga bering: s = s.title()

Qaysi metod? Bosing

"ADMIN" -> "admin"

bosing

lower()

"dAvRoN" -> "Davron"

bosing

capitalize() (yoki title())

"alisher navoiy" -> "Alisher Navoiy"

bosing

title()

Foydalanuvchi kiritgan ism

ism = "dAvRoN"

Bazada tartibsiz ko‘rinadi, qidirish qiyin.

ism.capitalize() -> "Davron"

Hammasi bir xil formatda.

0
metod
0
slicing namunasi

Amaliy topshiriq 20 daqiqa

Osonword = "Python": birinchi va oxirgi harf; "Toshkent" ni teskari chiqaring.
O'rta"salom dunyo" ni 4 ta metod bilan chiqaring; "dAvRoN" ni "Davron" qiling.
QiyinKiritilgan so‘z palindrommi? [::-1] va if/else bilan tekshiring.

Xulosa

Bugun o‘rgandik

Indeks 0 dan, oxiri -1. Slicing [b:t:q], tugash kirmaydi, [::-1] teskari. upper, lower, title, capitalize.

Uyga vazifa

slicing_mashq.py: 5 kesish, 4 metod, palindrom.

Keyingi dars: list - o‘zgartirsa bo‘ladigan ro‘yxat.