LUG'ATNI QATORLARGA BO'LIB YOZISH
Uzung lug'atlarni bir necha qatorga bo'lib yozishimiz ham mumkin. Keling quyidagi misolni ko'ramiz, siz do'stlaringizdan ular qanday telefon ishlatishini so'radingiz va javoblarni bitta lug'atga joylamoqchisiz:
1
telefonlar = {
2
'ali':'iphone x',
3
'vali':'galaxy s9',
4
'olim':'mi 10 pro',
5
'orif':'nokia 3310'
6
}
Copied!
Demak, lug'atni qatorga bo'lib yozish uchun katta qavs ochamiz, yangi qatordan joy tashlab, birinchi klit so'z va qiymatni kiritamiz, qator oxirida vergul qo'yib, yangi qatordan keyingi juftlikni yozamiz va hokazo. Oxirgi juftlikdan so'ng vergul qo'ymasdan qator tashlab, katta qavsni yopamiz.
Lug'atlarning ishlatilish doirasi juda keng va sizning yondoshuvingizga bog'liq xolos. Yuqoridagi lug'atga ham e'tibor qilsangiz, biz bir narsa (shaxs, avto) haqida ko'p ma'lumotlarni emas, ko'pchilik haqida bir hil ma'lumotlarni saqladik.
get() METODI
Biz shu vaqtgacha lug'atdagi qiymatlarni ko'rish uchun to'g'ridan-to'g'ri kalit so'z orqali murojat qilayotgan edik. Bu usulning kamchiligi shundaki, agar lug'atda siz so'ragan kalit topilmasa, dastur KeyError xatoligi bilan to'xtab qoladi.
1
phone = telefonlar['ali']
2
print(f"Alining telefoni {phone}")
Copied!
Natija: Alining telefoni iphone x
1
phone = telefonlar['hasan']
2
print(f"Hasanning telefoni {phone}")
Copied!
Natija: KeyError: 'hasan'
Lug'atda 'hasan' kalit so'zi bo'lmagani uchun, yuqoridagi kod KeyError degan xatoni qaytardi. KeyError ham Run time error qatoriga kiradi.
Biz kelgusi darslarimizda Pythondagi xatolarni dastur bajarilishi jarayonida "tutib olishni" o'rganamiz. Hozircha esa get() metodi yordamida lug'atga murojat qilish va mavjud bolmagan kalitning o'rniga biror xabar qaytarishni ko'raylik.
1
phone = telefonlar.get('hasan','Bunday ism mavjud emas')
Copied!
Yuqorida, lug'at nomidan so'ng .get() metodini yozdik, va argumentlar sifatida kalit so'z ('hasan') va kalit mavjud bo'lmaganda chiqadigan xabarni yozdik ('Bunday ism mavjud emas').
1
print(phone)
Copied!
Natija: Bunday ism mavjud emas
Agar .get() metodida ikkinchi argumentni tashlab ketsangiz, va kalit mavjud bo'lmasa .get() metodi None degan qiymatni qaytaradi. None - qiymat mavjud emas degan ma'noni beradi.
1
phone = telefonlar.get('hasan')
2
print(phone)
Copied!
Natija: None
AMALIYOT
otam (onam, akam, ukam, va hokazo) degan lug'at yarating va lug'atga shu inson haqida kamida 3 ta m'alumot kiriting (ismi, tu'gilgan yili, shahri, manzili va hokazo). Lug'atdagi ma'lumotni matn shaklida konsolga chiqaring :Otamning ismi Mavlutdin, 1954-yilda, Samarqand viloyatida tug'ilgan
Oila a'zolaringizning sevimli taomlari lug'atini tuzing. Lug'atda kamida 5 ta ism-taom jufltigi bo'lsin. Kamida uch kishining sevimli taomini konsolga chiqaring: Alining sevimli taomi osh
Python izohli lu'gati tuzing: Lug'atga shu kunga qadar o'rgangan 10 ta so'z (atamani) kiriting (masalan integer, float, string, if, else va hokazo) va har birining qisqacha tarjimasini yozing.
Foydalanuvchidan biror so'z kiritishni so'rang va so'zning tarjimasini yuqoridagi lug'atdan chiqarib bering. Agar so'z lu'gatda mavjud bo'lmasa, "Bunda so'z mavjud emas" degan xabarni chiqaring.
Yuqoridagi vazifani if-else yordamida qiling va natijani ham foydalanuvchiga tushunarli ko'rinishda chiqaring.
JAVOBLAR
Javoblar bizning GitHub sahifamizda hamda quyidagi Repl.it portalida mavjud.
GitHub - anvarnarz/python-darslar: Dasturlash asoslari darslari
GitHub
Do'stlaringiz bilan baham: |