PYTHONDA BACKEND ASOSLARI │4-DARS

PYTHONDA BACKEND ASOSLARI │4-DARS


Assalomu alaykum, biz Python dasturlash tilida backend asoslarni o'rganishni davom etamiz. Bugungi darsimiz oldingilari kabi ko'p mavzulardan tashkil topmaydi. Kasr sonlar mavzusi biroz kattaroq bo'lgani uchun ushbu mavzuga batafsilroq to'htalishga qaror qildim. 

Darsimizni boshlashdan oldin eslatma!

Agar siz darslarimizni endi kuzatishni boshlagan bo'lsangiz, uning oldingi sonlarini ham ko'rib chiqishni maslahat beramiz:

1-dars: Internet qanday ishlaydi, Python nima, O’rnatish va sozlash, Python falsafasi, Pythondagi ilk kodingiz.

2-dars: O'zgaruvchilar va ularning turlari, Turlarni o'zgartirish.

3-dars: Xatolar, o'zgaruvchilarni nomlash, ekranga chiqarish.


Kasr sonlar

Biz bilganimizdek, sonlarning butun va kasr turlari mavjud. O'nli kasrlar yoki suzuvchi nuqta (float poin) raqamlari uchun Pythonda maxsus ma'lumotlar turi mavjud - float.

# message nomli o’zgaruvchini e’lon qildik va unga 'Salom, dunyo!' satrini o’zlashtirdik 
message = 'Salom, dunyo!'
187.642

Kasr sonlar ham, huddi butun sonlar singari str() funksiyasini chaqirish orqali satrlarga aylantiriladi:

first = 87.2
second = 50.2
third = 50.242
print(str(first) + str(second) + str(third))
Salom, dunyo!

Kodimiz huddi yuqoridagidek ko'rinishda, ammo bu yerda boshqacha natija! Raqamlarni satrlarga aylantirib, biz sayt serverlarining birini IP manziliga oxshash natija oldik.

Huddi shuni aksincha qilsa ham bo'ladi. Satrlarni float() funksiyasi yordamida sonlarga aylantiramiz.

# number nomli o’zgaruvchiga 100 raqami yozilgan qiymat o’zlashtirildi
number = 100
# symbol va dollar nomli o’zgaruvchilarning qiymatlari esa satrdan tashkil topdi
symbol = '$'
dollar = " dollar"
187.642

Kasr sonlarni int() funksiyasi orqali butun sonlarga keltirishimiz mumkin. E'tibor bergan bo'lsangiz u sonlarni arifmetik qoidalar asosida yaxlitlamaydi, shunchaki kasr qismini olib tashlaydi holos. Keling bu borada bir nechta misollarni ko'rib chiqamiz:

# bunday yaxlitashning natijasini quyida ko'rishingizm mumkin
int(3.14)
600
хахахаха
# yaxlitlash aslida bunday bo'lmaydi, ammo int() shunday natijani beradi
int(2.72)
2
int(-3.14)
name = 'Anfisa' # ism
job = shaxsiy yordamchi' # kasb
# kodingizni shu yerga yozing:
print(Salom, mening ismim ' + ... + ', kasbim - ' + ... + 'ngman!')
int(-2.72)
-2

Bundan tashqari, bitta satrda bir nechta funksiyalarni qo'llashingiz mumkin. Dastlab, kasrni butun songa aylantirishga harakat qilamiz va keyin uni satrga o'zgartiramiz:

steps_today = 6783
steps_yesterday = 8452

steps_sum = ...  # yig’indini shu yerga kiriting

print('Ikki kun ichida jami nechta qadam tashlandi?')
print(steps_sum)
Butun qismi = 1

Qiziqarli ma'lumot: "float point (suzuvchi nuqta)" nimani anglatadi va u qayerga qarab suzadi?

Qo'pol qilib aytganda, kasr sonlar "suzuvchi nuqta raqamlari" deb nomlanadi, chunki vergul bu raqam darajasining hosilasi ko'rsatilganida "suzadi". Masalan, 3.14159 raqamini quyidagicha yozish mumkin:

314,159*10^(-2)

0,0314159*10^(2)

314159,0*10^(-5)

Ingliz adabiyotida vergul nuqta bilan almashtiriladi, floating point, chunki vaqtlar davomida o'nlik kasrlarni nuqta orqali yozish ular uchun odatga aylangan.

1-vazifa:


Keling Anfisa ismli yordamchimizni biroz mukammallashtiraylik. U kasrlarni odamlar kabi yaxlitlab chiqsin. Aniq qiymatli kasr - temperature_exact o'zgaruvchisida saqlanadi. Ekranga shunday natija chiqaring:

Ko'chada 39.3 gradus selsiy. Bu deyarli 40 gradusga teng.

temperature_exact = '39.3' 
temperature_approx =      # qiymatni butun songa aylantiring va 1 qo'shing
print                     # kodni bu yerga yozing

Bugungi darsimiz shu bilan yakunlandi. Qandaydir natijaga erishmoqchi bo'lsangiz, darslarni boshidan ko'rib, vazifalarni bajarib borishni unutmang. Navbatdagi darsda ro'yhatlar va ularni bog'lash haqida tushuntirib berishga harakat qilaman. E'tiboringiz uchun rahmat!


Report Page