While yordamida ro'yxatni to'ldirish



Download 118,39 Kb.
Sana31.05.2022
Hajmi118,39 Kb.
#622857
Bog'liq
WHILE YORDAMIDA ro\'yhatlar va lug\'atlar


WHILE YORDAMIDA RO'YXATNI TO'LDIRISH
Quyidagi dasturga e'tibor bering, avval ismlar degan bo'sh ro'yxat yaratib oldik. Keyin esa while tsikli yordamida foydalanuvchidan ro'yxatga ism qo'shishni so'raymiz. So'ngra foydalanuvchidan yana ism qo'shmoqchi yoki yo'q ekanin so'raymiz va foydalanuvchining javobiga ko'ra yoki while ni boshiga qaytamiz, yoki tsiklni to'xtatamiz.
1
ismlar = []
2
3
print("Yaqin do'stlaringiz ro'yxatini tuzamiz.")
4
n=1 # ismlarni sanash uchun o'zgaruvchi
5
while True:
6
savol = f"{n}-do'stingiz ismini kiriting:"
7
ism = input(savol)
8
ismlar.append(ism)
9
javob = input("Yana ism qo'shasizmi? (ha/yo'q)")
10
if javob =='ha':
11
n+=1
12
continue
13
else:
14
break
Copied!

Natija
1
print("Do'stlaringiz ro'yxati:")
2
for ism in ismlar:
3
print(ism.title())
Copied!

Natija
WHILE YORDAMIDA LUG'ATNI TO'LDIRISH
Yuqoridagi usul bilan lu'gatlarni ham shakllantirishimiz mumkin. Quyidagi kodda ism bu kalit, yosh esa klaitga mos keluvchi qiymat. while tsiklining davomiyligi esa ishora ning qiymatiga bog'liq.
1
print("Do'stlaringiz yoshini saqlaymiz.")
2
dostlar = {}
3
ishora = True
4
while ishora:
5
ism = input("Do'stingiz ismini kiriting: ")
6
yosh = input(f"{ism.title()}ning yoshini kiriting: ")
7
dostlar[ism] = int(yosh) # ism kalit, yosh qiymat
8
9
javob = input("Yana ma'lumot qo'shasizmi? (ha/yo'q)")
10
if javob == "yo'q":
11
ishora = False
12
13
for ism, yosh in dostlar.items():
14
print(f"{ism.title()} {yosh} yoshda")
Copied!

Natija
RO'YXAT ELEMENTLARINI O'CHIRISH
Avvalgi darslarimizning birida ro'yxat elementini o'chirish uchun .remove(qiymat) metodi bilan tanishgan edik. Esingizda bo'lsa, bu metod ro'yxatdan eng birinchi uchragan qiymatni o'chiradi. Agar ro'yxatimizda ma'lum bir qiymat bir necha bor takrorlangan bo'lsa, ularning barchasini o'chirib tashlash uchun while tsiklidan foydalanishmiz mumkin.
1
cars = ['lacetti','nexia','toyota','nexia','audi','malibu','nexia']
2
while 'nexia' in cars: # toki nexia cars ro'yxati ichida ekan...
3
cars.remove('nexia') # nexia ni ro'yxatdan olib tashla
4
print(cars)
Copied!
Natija: ['lacetti', 'toyota', 'audi', 'malibu']
Yuqoridagi tsikl toki cars degan ro'yxatda 'nexia' qiymati tugagunga qadar takrorlanaveradi.
RO'YXATDAN RO'YXATGA ELEMENT KO'CHIRISH
Tasavvur qiling bizda ma'lum bir ro'yxat bor, biz ro'yxatdagi har bir element ustida biror amalni bajarib, uni birinchi ro'yxatdan ikkinchi ro'yxatga ko'chirib olmoqchimiz. Shunday holatlarda while tsikli juda qo'l keladi.
Quyidagi misolni ko'raylik. Bizda talabalar ro'yxati bor. while tsikli toki ro'yxatda talabalar bor ekan aylanaveradi. Tsikl ichida biz .pop() metodi yordamida talabaning ismini ro'yxatdan sug'urib oldik va foydalanuvchidan talabani baholashni so'radik. Talabaning ismi va bahosini lug'at elementi ko'rinishida saqlab qo'ydik (talaba - kalit, baho - qiymat).
1
talabalar = ['hasan', 'husan', 'olim', 'botir']
2
baholangan_talabalar = {}
3
while talabalar:
4
talaba = talabalar.pop()
5
baho = input(f"{talaba.title()}ning bahosini kiriting: ")
6
print(f"{talaba.title()} baholandi")
7
baholangan_talabalar[talaba] = baho
Copied!

Natija
Yuqorida biz while tsikli yordamida ro'yxat va lug'atlar ustida bajarish mumkin bo'lgan ba'zi misollarni ko'rdik. Albatta dasturlash davomida bundan boshqa holatlar ham uchrashi tabiiy.
AMALIYOT

  1. 1.

Foydalanuvchidan buyurtma qabul qiluvchi dastur yozing. Mahsulotlar nomini birma-bir qabul qilib, yangi ro'yxatga joylang.

  1. 2.

e-bozor uchun mahsulotlar va ularning narhlari lug'atini shakllantiruvchi dastur yozing. Foydalanuvchidan lug'atga bir nechta elementlar (mahsulot va uning narhi) kiritishni so'rang.

  1. 3.

Yuqoridagi ikki dasturni jamlaymiz. Foydalanuvchi buyurtmasi ro'yxatidagi har bir mahsulotni e-bozordagi mahsulotlar bilan solishitiring (tayyor ro'yxat ishlatishingiz mumkin). Agar mahsuot e-bozorda mavjud bo'lsa mahuslot narhini chiqaring, aks holda "Bizda bu mahsulot yo'q" degan xabarni kor'sating.
JAVOBLAR
GitHub

GitHub - anvarnarz/python-darslar: Dasturlash asoslari darslari
GitHub
Download 118,39 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish