Yuqoridagi kod nimani qaytaradi?
Anonymous Quiz
50%
[1] va [1]
0%
[1, 1] va [1, 1]
36%
[1] va [1, 1]
14%
Error
Yuqoridagi kod nimani qaytaradi?
Anonymous Quiz
83%
'abcabcabc'
0%
'abc3'
17%
Error
0%
'abc abc abc'
📌 Dasturlashga Kirish: Kompyuter Nima?
Salom, dasturlash olamiga qadam qo‘yayotgan do‘stlar! 👋
Bugun biz eng asosiy savollardan biriga javob beramiz:
🖥 Kompyuter nima?
Kompyuter — bu axborotni qayta ishlovchi elektron qurilma. U inson bergan buyruqlar (ya'ni dasturlar) asosida turli vazifalarni bajaradi: hisob-kitob qiladi, ma’lumotlarni saqlaydi, tahlil qiladi va natija chiqaradi.
🧠 Oddiy qilib aytganda:
Kompyuter — bu "o‘ylay oladigan" mashina emas, balki biz yozgan ko‘rsatmalarni aniq va ketma-ket bajaradigan qurilma.
🧩 Kompyuter ikki asosiy qismdan tashkil topgan:
Birinchisi - Apparat ta'minoti (Hardware) – ya'ni kompyuterning ko‘rinadigan jismoniy qismlari: klaviatura, monitor, protsessor va hokazo.
Ikkinchisi - Dasturiy ta'minot (Software) – bu esa kompyuterda ishlaydigan dasturlar va operatsion tizimlar. Aynan shu qismlar kompyuterga nima qilish kerakligini "aytadi". Ya'ni aynan shu qismi kompyuterning miyyasi hisoblanadi, u bo'lmasa kompyuter oddiy temir, plastmassa va meteriallar yig'indisidir.
💡 Agar dasturlashni o‘rganmoqchi bo‘lsangiz, avvalo kompyuter qanday ishlashini tushunishingiz juda muhim. Chunki siz yozadigan kod aynan kompyuter bilan muloqot qilish tili bo‘ladi.
https://t.me/+4-HzPYPUWWw3NDEy
Salom, dasturlash olamiga qadam qo‘yayotgan do‘stlar! 👋
Bugun biz eng asosiy savollardan biriga javob beramiz:
🖥 Kompyuter nima?
Kompyuter — bu axborotni qayta ishlovchi elektron qurilma. U inson bergan buyruqlar (ya'ni dasturlar) asosida turli vazifalarni bajaradi: hisob-kitob qiladi, ma’lumotlarni saqlaydi, tahlil qiladi va natija chiqaradi.
🧠 Oddiy qilib aytganda:
Kompyuter — bu "o‘ylay oladigan" mashina emas, balki biz yozgan ko‘rsatmalarni aniq va ketma-ket bajaradigan qurilma.
🧩 Kompyuter ikki asosiy qismdan tashkil topgan:
Birinchisi - Apparat ta'minoti (Hardware) – ya'ni kompyuterning ko‘rinadigan jismoniy qismlari: klaviatura, monitor, protsessor va hokazo.
Ikkinchisi - Dasturiy ta'minot (Software) – bu esa kompyuterda ishlaydigan dasturlar va operatsion tizimlar. Aynan shu qismlar kompyuterga nima qilish kerakligini "aytadi". Ya'ni aynan shu qismi kompyuterning miyyasi hisoblanadi, u bo'lmasa kompyuter oddiy temir, plastmassa va meteriallar yig'indisidir.
💡 Agar dasturlashni o‘rganmoqchi bo‘lsangiz, avvalo kompyuter qanday ishlashini tushunishingiz juda muhim. Chunki siz yozadigan kod aynan kompyuter bilan muloqot qilish tili bo‘ladi.
#pythonBeginner#computerhttps://t.me/+4-HzPYPUWWw3NDEy
📌 Dasturlashga Kirish: Dasturlash tilini o'rganish nimaga kerak?
💻 Xo'sh shunday qilib, kompyuter bu oddiy temir va dasturiy ta'minotni birlashtirilgan qurilma.
🔗 Bizni shu temir bilan bog'lovchi vosita esa bu dasturiy ta'minot qismi hisoblanadi.
🧾 Kompyuter inson bergan buyruqlar asosida turli vazifalar bajaradi dedik, lekin biz qanday qilib temirga buyruq beramiz? 🧐 degan savol tug'iladi.
🧠 Tasavvur qiling siz faqat o'zbek tilini bilasiz va faqat nemis tilini biladigan odam bilan gaplashmoqchisiz — buni qanday amalga oshirish mumkin?
🌐 Albatta, faqat tarjimon orqali 😃!
👨💻 Kompyuter bilan muloqotda ham xuddi shunday holat:
👤 Inson (o'zbek, rus, ingliz, nemis tillari...)
⚙️ Kompyuter (mashina tili)
📘 Ular o‘rtasidagi tarjimonlik vazifasini dasturlash tillari bajaradi.
📎 Ya'ni, dasturlash tili — shunchaki tarjimon! Oddiy, a?
🔢 Mashina tili — kompyuter va boshqa hisoblash qurilmalari tili bo‘lib,
🌍 dunyoning hamma joyida bir xil va u 0 va 1 lardan iborat:
🎯 Endi tasavvur qiling — mashina bir xil tilda gapirar va tushunar ekan, lekin insonlar yuzlab tilda gaplashadilarku!
😰 Tarjimonimiz qiynalib qolmasmikin?
🗣 Siz o'zbekcha gapirsangiz bu tarjimonga, ruslar ruscha gapirsa — va hakozo.
🤔 Bir zamonlar bir aqlli inson chiqdida:
💡 "Shu kompyuter va inson o'rtasida aloqani ta'minlayman!" deb, tarjimon yaratishga bel bog'ladi.
📚 U quyidagi muammolarga duch keldi:
1️⃣ Yuzlab tillar mavjud va har biri uchun tarjimon ishlab chiqish imkonsiz (o‘zi bitta til uchun yaratish ham qiyin masala bo‘lib turganda)
2️⃣ Bir katta kompaniyada ishlaydigan o'zbek katta dastur yaratdi, lekin u ketdi.
🔁 O‘rniga kelgan rus xodim esa o‘zbekchani bilmaydi, shuning uchun dastur bilan ishlay olmaydi,
uni o'zgartirolmaydi faqat qaytadan yozishi mumkin (essiz yana yillab vaqt safrlashi kerak endi).
🚀 Yuqoridagi aqlli inson bu muammolarga yechim topdi (kallaga qoyil deydiku!)
👨🔬 Va hamma insonlar o‘rganishi mumkin bo‘lgan "Python" dasturlash tilini yaratdi 😄
(🔥 Qolgan yangi tillarni esa boshqa aqllilar yaratgan 😄)
🎓 O‘sha aqlli inson sabab endi biz o‘zbeklar, ruslar, nemislar va boshqalar,
💬 kompyuter bilan muloqot qilish, unga buyruq berish va uning imkoniyatlarini boshqarish uchun
🐍 Python degan (o‘zbek tilidan ozroq farq qiladigan) tilni o‘rganamiz ushbu kanalda!
https://t.me/+4-HzPYPUWWw3NDEy
💻 Xo'sh shunday qilib, kompyuter bu oddiy temir va dasturiy ta'minotni birlashtirilgan qurilma.
🔗 Bizni shu temir bilan bog'lovchi vosita esa bu dasturiy ta'minot qismi hisoblanadi.
🧾 Kompyuter inson bergan buyruqlar asosida turli vazifalar bajaradi dedik, lekin biz qanday qilib temirga buyruq beramiz? 🧐 degan savol tug'iladi.
🧠 Tasavvur qiling siz faqat o'zbek tilini bilasiz va faqat nemis tilini biladigan odam bilan gaplashmoqchisiz — buni qanday amalga oshirish mumkin?
🌐 Albatta, faqat tarjimon orqali 😃!
👨💻 Kompyuter bilan muloqotda ham xuddi shunday holat:
👤 Inson (o'zbek, rus, ingliz, nemis tillari...)
⚙️ Kompyuter (mashina tili)
📘 Ular o‘rtasidagi tarjimonlik vazifasini dasturlash tillari bajaradi.
📎 Ya'ni, dasturlash tili — shunchaki tarjimon! Oddiy, a?
🔢 Mashina tili — kompyuter va boshqa hisoblash qurilmalari tili bo‘lib,
🌍 dunyoning hamma joyida bir xil va u 0 va 1 lardan iborat:
10110000 01100001
🎯 Endi tasavvur qiling — mashina bir xil tilda gapirar va tushunar ekan, lekin insonlar yuzlab tilda gaplashadilarku!
😰 Tarjimonimiz qiynalib qolmasmikin?
🗣 Siz o'zbekcha gapirsangiz bu tarjimonga, ruslar ruscha gapirsa — va hakozo.
🤔 Bir zamonlar bir aqlli inson chiqdida:
💡 "Shu kompyuter va inson o'rtasida aloqani ta'minlayman!" deb, tarjimon yaratishga bel bog'ladi.
📚 U quyidagi muammolarga duch keldi:
1️⃣ Yuzlab tillar mavjud va har biri uchun tarjimon ishlab chiqish imkonsiz (o‘zi bitta til uchun yaratish ham qiyin masala bo‘lib turganda)
2️⃣ Bir katta kompaniyada ishlaydigan o'zbek katta dastur yaratdi, lekin u ketdi.
🔁 O‘rniga kelgan rus xodim esa o‘zbekchani bilmaydi, shuning uchun dastur bilan ishlay olmaydi,
uni o'zgartirolmaydi faqat qaytadan yozishi mumkin (essiz yana yillab vaqt safrlashi kerak endi).
🚀 Yuqoridagi aqlli inson bu muammolarga yechim topdi (kallaga qoyil deydiku!)
👨🔬 Va hamma insonlar o‘rganishi mumkin bo‘lgan "Python" dasturlash tilini yaratdi 😄
(🔥 Qolgan yangi tillarni esa boshqa aqllilar yaratgan 😄)
🎓 O‘sha aqlli inson sabab endi biz o‘zbeklar, ruslar, nemislar va boshqalar,
💬 kompyuter bilan muloqot qilish, unga buyruq berish va uning imkoniyatlarini boshqarish uchun
🐍 Python degan (o‘zbek tilidan ozroq farq qiladigan) tilni o‘rganamiz ushbu kanalda!
https://t.me/+4-HzPYPUWWw3NDEy
Hurmatli kanalimiz a'zolari biz jamoamiz bilan python dasturlash tilidagi o'zbekcha kontentlarni sekin asta ko'paytirishga o'z hissamizni qo'shmoqchimiz va o'rganuvchilarga oson va foydali bo'lishi uchun 3 ta kanal yaratganmiz. Va ular quyidagilar:
1) Umumiy kanal va bu kanalda faqat postlar va ular aralash holatda bo'ladi (boshlovchilar va tajribaga ega dasturchilar uchun):
https://t.me/simplypythonuz
2) Faqat boshlovchilar uchun yopiq kanal, bu kanalda boshlovchilar uchun postlar va batafsil tushuntirish uchun video darslar berib boriladi:
https://t.me/+4-HzPYPUWWw3NDEy
3)Tajribaga ega dasturchilar uchun yopiq kanal, va unda biroz murakkabroq mavzular, yangi imkoniyatlar, funksiyalar bo'yicha postlar va video darslar berib boriladi:
https://t.me/+G8Ao2nlAzBQ0ZGIy
Yana shuni aytish kerakki, ushbu umumiy kanalda qolgan ikkita kanaldagi postlar berib boriladi lekin video darslar berilmaydi!!!
Yaqinlarga ulashish esingizdan chiqmasin, biz boshladik😄
1) Umumiy kanal va bu kanalda faqat postlar va ular aralash holatda bo'ladi (boshlovchilar va tajribaga ega dasturchilar uchun):
https://t.me/simplypythonuz
2) Faqat boshlovchilar uchun yopiq kanal, bu kanalda boshlovchilar uchun postlar va batafsil tushuntirish uchun video darslar berib boriladi:
https://t.me/+4-HzPYPUWWw3NDEy
3)Tajribaga ega dasturchilar uchun yopiq kanal, va unda biroz murakkabroq mavzular, yangi imkoniyatlar, funksiyalar bo'yicha postlar va video darslar berib boriladi:
https://t.me/+G8Ao2nlAzBQ0ZGIy
Yana shuni aytish kerakki, ushbu umumiy kanalda qolgan ikkita kanaldagi postlar berib boriladi lekin video darslar berilmaydi!!!
Yaqinlarga ulashish esingizdan chiqmasin, biz boshladik😄
🔢 math.perm() metodi — Tartibli tanlovlar soni
Python'dagi math.perm() metodi — bu n elementdan tartib bilan va takrorlarsiz k element tanlashning nechta usuli mavjudligini hisoblab beradi.
📌 Sintaksis:
🟢 Bu yerda:
- n — tanlov qilinadigan umumiy elementlar soni
- k — tanlab olinadigan elementlar soni
- Natijada nPk ya’ni permutatsiya soni qaytariladi
🧪 Misollar:
📍 1-misolda: 5 ta elementdan 3 tasini tartibli tanlash — 60 xil usulda.
📍 2-misolda: 10 ta elementdan 5 tasini tartibli tanlash — 30240 xil usulda.
⚠️ Eslatma: math.perm() funksiyasi Python 3.8 va undan yuqori versiyalarda mavjud.
🧠 Permutatsiyalar — kombinatorika, ehtimollar nazariyasi va algoritmlarda keng qo‘llaniladi.
Python'dagi math.perm() metodi — bu n elementdan tartib bilan va takrorlarsiz k element tanlashning nechta usuli mavjudligini hisoblab beradi.
📌 Sintaksis:
math.perm(n, k)
🟢 Bu yerda:
- n — tanlov qilinadigan umumiy elementlar soni
- k — tanlab olinadigan elementlar soni
- Natijada nPk ya’ni permutatsiya soni qaytariladi
🧪 Misollar:
from math import perm
print(perm(5, 3)) # Natija: 60
print(perm(10, 5)) # Natija: 30240
📍 1-misolda: 5 ta elementdan 3 tasini tartibli tanlash — 60 xil usulda.
📍 2-misolda: 10 ta elementdan 5 tasini tartibli tanlash — 30240 xil usulda.
⚠️ Eslatma: math.perm() funksiyasi Python 3.8 va undan yuqori versiyalarda mavjud.
🧠 Permutatsiyalar — kombinatorika, ehtimollar nazariyasi va algoritmlarda keng qo‘llaniladi.
📌 Eng katta umumiy bo‘luvchi (GCD)
Python'ning standart matematik kutubxonasida oddiy matematik hisob-kitoblarni ancha yengillashtiradigan foydali metodlar mavjud. Ulardan biri — gcd() metodi bo‘lib, u berilgan ikki sonning eng katta umumiy bo‘luvchisini (EKUB) hisoblab beradi.
🧮 Misol:
Bu kod 36 va 60 sonlarining eng katta umumiy bo‘luvchisi — 12 ni chiqaradi.
📚 gcd() metodi Python'da math modulida joylashgan va Python 3.5 va undan keyingi versiyalarda mavjud.
🔢 EKUB hisoblash matematikada, algoritmlarda va kod optimallashtirishda keng qo‘llaniladi.
Python'ning standart matematik kutubxonasida oddiy matematik hisob-kitoblarni ancha yengillashtiradigan foydali metodlar mavjud. Ulardan biri — gcd() metodi bo‘lib, u berilgan ikki sonning eng katta umumiy bo‘luvchisini (EKUB) hisoblab beradi.
🧮 Misol:
from math import gcd
print(gcd(36, 60)) # Natija: 12
Bu kod 36 va 60 sonlarining eng katta umumiy bo‘luvchisi — 12 ni chiqaradi.
📚 gcd() metodi Python'da math modulida joylashgan va Python 3.5 va undan keyingi versiyalarda mavjud.
🔢 EKUB hisoblash matematikada, algoritmlarda va kod optimallashtirishda keng qo‘llaniladi.
Assalomu alaykum, kunni ozgina bilim yoki takrorlash bilan boshlashga nima deysiz?
Bugun sizlar bilan python funksiyalarda keng qo'llaniladigan *args hamda **kwargs argumentlar haqida gaplashamiz.
Aytaylik siz, soni cheklanmagan miqdordagi raqamlar qabul qiladigan va ularning ko'paytmasini qaytaradigan funksiya yaratmoqchisiz. Bu masalaning bitta yechimi list dan foydalanish, lekin sizda undan ko'ra chiroyliroq yechim qilishga imkon bor. Bu *args dir.
Ko'rib turganingizdek, ancha qulay.
Endi, **kwargs ga o'tsak, sizga argumentlarning faqat o'zgaruvchi qiymati emas, balki ularning nomi ham kerak bo'lsa **kwargs ni ishlatish ayni muddao.
Sezganingizdek, **user argumenti bizga dict hosil qilib berdi, funksiya ichkarisida undan xohlaganimizdek foydalansak bo'ladi.
Foydali bo'ldi degan umiddaman. Kuningiz xayrli o'tsin!
@simplypythonuz
Bugun sizlar bilan python funksiyalarda keng qo'llaniladigan *args hamda **kwargs argumentlar haqida gaplashamiz.
Aytaylik siz, soni cheklanmagan miqdordagi raqamlar qabul qiladigan va ularning ko'paytmasini qaytaradigan funksiya yaratmoqchisiz. Bu masalaning bitta yechimi list dan foydalanish, lekin sizda undan ko'ra chiroyliroq yechim qilishga imkon bor. Bu *args dir.
def multiply(*numbers):
total = 1
for number in numbers:
total *= number
return total
result = multiply(1, 5, 2, 13, 15)
Ko'rib turganingizdek, ancha qulay.
Endi, **kwargs ga o'tsak, sizga argumentlarning faqat o'zgaruvchi qiymati emas, balki ularning nomi ham kerak bo'lsa **kwargs ni ishlatish ayni muddao.
def save_user(**user):
for key, value in user.items():
print(f"{key}: {value}")
save_user(name="John", age=31)
Sezganingizdek, **user argumenti bizga dict hosil qilib berdi, funksiya ichkarisida undan xohlaganimizdek foydalansak bo'ladi.
Foydali bo'ldi degan umiddaman. Kuningiz xayrli o'tsin!
@simplypythonuz
🧠 Python masala: Unikal so‘zlar sonini hisoblash
Masala:
Foydalanuvchidan satr (matn) qabul qiladigan funksiya yozing va shu satrdagi unikal (takrorlanmas) so‘zlar sonini qaytaring.
Satrda so‘zlar bo‘sh joy bilan ajratilgan, tinish belgilari olib tashlanishi kerak.
📌 Tushuntirish:
Ushbu kodda
Keyin butun matnni kichik harflarga o'tkazib, bo‘sh joy bo‘yicha bo‘lib chiqamiz va
⚙️ Optimallashtirishlar (Performance):
Regulyar ifodalar (regex) yordamida tinish belgilari va so‘zlarni aniqlash aniqroq bo‘ladi:
❓ Siz bu funksiyani yana qanday optimallashtirar edingiz?
💬 Fikringizni kommentda yozing!
https://t.me/simplypythonuz
Masala:
Foydalanuvchidan satr (matn) qabul qiladigan funksiya yozing va shu satrdagi unikal (takrorlanmas) so‘zlar sonini qaytaring.
Satrda so‘zlar bo‘sh joy bilan ajratilgan, tinish belgilari olib tashlanishi kerak.
📌 Tushuntirish:
Ushbu kodda
string.punctuation yordamida barcha tinish belgilari aniqlanadi va str.translate() orqali ularni satrdan tozalaymiz.Keyin butun matnni kichik harflarga o'tkazib, bo‘sh joy bo‘yicha bo‘lib chiqamiz va
set yordamida unikal so‘zlarni sanaymiz.
import string
def count_unique_words(text):
text = text.translate(str.maketrans('', '', string.punctuation))
words = text.lower().split()
return len(set(words))
count_unique_words("Hello, hello world!") # ➝ 2
⚙️ Optimallashtirishlar (Performance):
Regulyar ifodalar (regex) yordamida tinish belgilari va so‘zlarni aniqlash aniqroq bo‘ladi:
import re
def count_unique_words(text):
words = re.findall(r'\b\w+\b', text.lower())
return len(set(words))
print(count_unique_words("Hello, world! Hello again.")) # ➝ 3
print(count_unique_words("Python, Java. Python?")) # ➝ 2
❓ Siz bu funksiyani yana qanday optimallashtirar edingiz?
💬 Fikringizni kommentda yozing!
https://t.me/simplypythonuz
📦 #Python | gzip moduli — fayllarni siqish va arxivdan chiqarish
🔹 Asosiy imkoniyatlari:
- Fayllarni
-
- Oddiy baytlar massivini siqish/decompress qilish
📘 Misollar:
✅ 1. Faylni siqish (compress)
✅ 2. Siqilgan .gz faylni ochish (decompress)
✅ 3. Matnni bevosita siqish va ochish
⚠️ Eslatma: Bu modul faqat
https://t.me/simplypythonuz
gzip moduli — bu .gz formatdagi fayllar bilan ishlashni soddalashtiruvchi kuchli vosita. U orqali matnli fayllarni siqish (compress) yoki arxivdan chiqarish (decompress) mumkin.🔹 Asosiy imkoniyatlari:
- Fayllarni
.gz formatda siqish-
.gz fayllarni o‘qish va arxivdan chiqarish- Oddiy baytlar massivini siqish/decompress qilish
📘 Misollar:
✅ 1. Faylni siqish (compress)
import gzip
with open('data.txt', 'rb') as f_in:
with gzip.open('data.txt.gz', 'wb') as f_out:
f_out.writelines(f_in)
✅ 2. Siqilgan .gz faylni ochish (decompress)
import gzip
with gzip.open('data.txt.gz', 'rb') as f:
content = f.read()
print(content.decode('utf-8'))
✅ 3. Matnni bevosita siqish va ochish
import gzip
original = b"Salom, dunyo!"
compressed = gzip.compress(original)
decompressed = gzip.decompress(compressed)
print(decompressed.decode()) # ➝ Salom, dunyo!
⚠️ Eslatma: Bu modul faqat
.gz formatni qo‘llab-quvvatlaydi. compress, pack kabi bash buyruqlari yaratgan fayllar mos kelmaydi.https://t.me/simplypythonuz
🖼 #Python | Pillow — Python’da rasm bilan ishlash kutubxonasi
🔹 Rasmni boshqa formatga o‘tkazish
🔹 Filtrlar qo‘llash
🔹 Rasmni aylantirish
🔹 Thumbnail (miniatura) yaratish
🔹 Bir nechta rasmni paketli tarzda qayta ishlash
✅ Pillow kutubxonasini o‘rnatish:
📚 Batafsil hujjat:
🧪 Misol: Rasmdan foydalanish va uni ko‘rsatish
https://t.me/simplypythonuz
Pillow — bu mashhur Python Imaging Library (PIL) kutubxonasining davomidir. U rasm fayllari bilan ishlashni soddalashtiradi va quyidagi ishlar uchun juda qulay:🔹 Rasmni boshqa formatga o‘tkazish
🔹 Filtrlar qo‘llash
🔹 Rasmni aylantirish
🔹 Thumbnail (miniatura) yaratish
🔹 Bir nechta rasmni paketli tarzda qayta ishlash
✅ Pillow kutubxonasini o‘rnatish:
pip install Pillow
📚 Batafsil hujjat:
pypi.org/project/Pillow🧪 Misol: Rasmdan foydalanish va uni ko‘rsatish
from PIL import Image
# Rasmni ochish
img = Image.open("rasm.jpg")
# O‘lchamini ko‘rsatish
print(img.size)
# Rasmni ko‘rsatish
img.show()
Pillow — ko‘p sonli rasmlar bilan avtomatik ishlash kerak bo‘lganda (masalan, watermark qo‘yish, format o‘zgartirish) juda mos keladi. 👌https://t.me/simplypythonuz