{ "cells": [ { "cell_type": "markdown", "id": "e884e4f1", "metadata": {}, "source": [ "# Topshiriqlar 2\n", "\n", "Ushbu qismdagi topshiriqlar nafaqat oldingi mavzuda o'tilganlarni mustahkamlash uchun, balki shu vaqtgacha o'tilgan qolgan qismlarni ham takrorlash uchun xizmat qiladi. Chunki ba'zi masalalarni bajarish uchun qo'shimcha narsalarni o'rganishga to'g'iri keladi. Tabiiyki biz bitta darsda ko'p narsalarni o'rgana olmaymiz. Shu sababdan ham ushbu topshiriqlarimizni bir qancha qismlarga bo'lgan holda o'rganamiz. Eng asosiysi bu qismdagi topshiriqlar turli xil darajada bo'lib, ba'zilarni ishlash uchun ancha tajriba kerak bo'ladi. Shuning uchun ularni tashlab ketilsa ham bo'ladi.\n", "\n", "\n", "**Ko'rsatma**. Har doim kiritilgan indeks elementlar sonidan oshib ketmasligini tekshiring, agar oshib ketsa, foydalanuvchiga bu haqida xabar bering.\n", "\n", "## `tuple` turiga oid masalalar\n", "A. Ushbu qismdagi masalarni bajarishda bizga `tuple` turidagi o'zgaruvchi berilgan va uning elementlarning qiymatlari sonlar deb hisoblaymiz, hamda uni o'zimiz qo'lda kiritib qo'yamiz. \n", "\n", "1. Berilgan `tuple` turidagi o'zgaruvchining `k`-o'rindagi elementini chop qiling.\n", "2. Berilgan `tuple` turidagi o'zgaruvchining `k`- va `l`- o'rindagi elementlarining yig'indisini hisoblang.\n", "3. Berilgan `tuple` turidagi o'zgaruvchining `k`- o'rindagi elementi juft yoki toqligini ko'rsating.\n", "4. Berilgan `tuple` turidagi o'zgaruvchining `k`- o'rindagi elementining musbat yoki manifiyligini aniqlang.\n", "5. Berilgan `tuple` turidagi o'zgaruvchining elementlarning yig'indisini toping.\n", "6. Berilgan `tuple` turidagi o'zgaruvchining juft va toq elementlarning yig'indilarini hisoblang.\n", "7. Berilgan `tuple` turidagi o'zgaruvchining juft va toq o'rinda turgan elementlarning yig'indilarini hisoblang.\n", "8. Berilgan `tuple` turidagi o'zgaruvchining eng katta va kichik elementlarini toping.\n", "9. Berilgan `tuple` turidagi o'zgaruvchining eng katta va kichik elementlari joylashgan o'rinlarni toping.\n", "10. Berilgan `tuple` turidagi o'zgaruvchining elementlari ketma-ketligida nechta ishora almashishlar mavjudligini toping.\n", "11. Berilgan `tuple` turidagi o'zgaruvchida nechta turli xil elementlar borligini chop qiling.\n", "12. Berilgan ikkita `tuple` turidagi o'zgaruvchilari ustida 4 arfimetik amallarni bajaruvchi dastur tuzing va natijalarni chop qiling.\n", "13. Berilgan ikkita `tuple` turidagi o'zgaruvchilarining skalyar ko'paytmasini hisoblovchi dastur tuzing.\n", "\n", "B. Ushbu qismdagi masalarni bajarishda bizga `tuple` turidagi o'zgaruvchi berilgan va uning elementlarning qiymatlari belgilar deb hisoblaymiz, hamda uni o'zimiz qo'lda kiritib qo'yamiz.\n", "\n", "1. Berilgan `tuple` turidagi o'zgaruvchining `k`-o'rindagi elementini chop qiling.\n", "2. Berilgan `tuple` turidagi o'zgaruvchining `k`-o'rindagi elementini raqam yoki harf yoki belgi ekanligini aniqlang. Buning uchun `isdigit()` va `isalpha()` metodlaridan foydalaning.\n", "3. Berilgan `tuple` turidagi o'zgaruvchining `k`-o'rindagi elementini raqam yoki harf yoki belgi ekanligini aniqlang. Bunda faqat harfning ACII jadvalidagi kodidan foydalangan holda aniqlang.\n", "4. Berilgan `tuple` turidagi o'zgaruvchining elementlarini bitta `str` turidagi o'zgaruvchi sifatida tasvirlang.\n", "\n", "## `str` turiga oid masalalar\n", "Ushbu qismdagi masalarni bajarishda bizga `str` turidagi o'zgaruvchi berilgan, hamda uni foydanuvchi kiritadi.\n", "\n", "1. Berilgan `str` turidagi o'zgaruvchida nechta element borligni chop qiling.\n", "2. Berilgan `str` turidagi o'zgaruvchida `k`-o'rindagi elementi qaysi raqam, harf yoki belgi ekanligini aniqlang.\n", "3. Berilgan `str` turidagi o'zgaruvchida nechta lotin harfi, raqam va belgidan iborat ekanligni toping.\n", "4. Berilgan `str` turidagi o'zgaruvchining har bir belgisini `k` o'ringa o'nga surishdan hosil bo'lgan matni chop qiling. Bunda matn faqat ASCII jadvali asosida berilgan deb tasavur qiling hamda qoldiqli bo'lishdan foydalaning.\n", "5. Berilgan `str` turidagi o'zgaruvchining har bir belgisini `k` o'ringa chapga surishdan hosil bo'lgan matni chop qiling. Bunda matn faqat ASCII jadvali asosida berilgan deb tasavur qiling hamda qoldiqli bo'lishdan foydalaning.\n", "6. Berilgan `str` turidagi o'zgaruvchida necha xil turdagi belgi borligini aniqlang.\n", " \n", "## `list` turiga oid masalalar\n", "Ushbu qismdagi masalarni bajarishda bizga `list` turidagi o'zgaruvchi berilgan va uning elementlarning qiymatlari sonlar deb hisoblaymiz, hamda uning elementlarini foydalanuvchi kiritadi deb hisoblaymiz. Buning uchun quyidagi kod qismidan qiymatlarni kiritish uchun foydalaning: " ] }, { "cell_type": "code", "execution_count": 2, "id": "ca24b85c", "metadata": {}, "outputs": [], "source": [ "# elementlar soni\n", "n = int(input(\"Nechta element kiritmoqchisiz:\"))\n", "# bo'sh list\n", "a = []\n", "i = 0\n", "while i < n:\n", " # sanagichni oshirish\n", " i += 1\n", " # yangi elementni kiritishni so'rash\n", " new_elem = float(input(\"Navbatdagi elementni kiriting: \"))\n", " # qo'shib qo'yish\n", " a.append(new_elem)" ] }, { "cell_type": "markdown", "id": "b0eb9bf5", "metadata": {}, "source": [ "A. `tuple` turiga oid berilgan A va B qismdagi hamma topshiriqlarni hamda quyidagilarni ham bajaring.\n", "\n", "1. Berilgan `list` turidagi o'zgaruvchi elementlarining qiymatlarini bittaga kamaytiring va yangi hosil bo'lgan qiymatlarni chop qiling.\n", "2. Berilgan `list` turidagi o'zgaruvchi ketma-ket kelgan elementlarning o'rnini almashtiring. Bunda ikkinchi elementdan boshlang.\n", "3. Berilgan `list` turidagi o'zgaruvchining ketma-ket kelgan elementlarning birinchisi ikkinchisidan katta bo'lsa, u holda ularning o'rnini almashtiring. Bunda ikkinchi elementdan boshlang.\n", "4. Berilgan `list` turidagi o'zgaruvchining elementlarini pufakchali usulda tartiblang.\n", "5. Berilgan `list` turidagi o'zgaruvchining elementlarini o'riniga qo'yish usulda tartiblang.\n", "5. Berilgan `list` turidagi o'zgaruvchining elementlarini tanlash usulda tartiblang.\n", "\n", "B. Ushbu qismda ikki o'lchovli (ichma-ich) `list` turidagi o'zgaruvchilar ustida amallar bajaramiz. Ushbu topshiriqlarni bajarish oson bo'lishi uchun, ikki o'lchovli `list` o'zgaruvchisini oldindan aniqlab qo'yish yaxshi amaliyot hisoblanadi. Qachon dasturingiz to'g'iri ishlashni boshlaganiga ishonch hosil qilsangiz, shundan so'ng foydalanuvchi berilganlarni kiritishi mumkin bo'ladi.\n", "\n", "1. O'lchami mxn bo'lgan matritsani kiritish dasturini tuzing.\n", "2. O'lchami mxn bo'lgan matritsaning elementlarini matritsa ko'rinishida chop qiluvchi dasturini tuzing. \n", "3. O'lchami mxn bo'lgan matritsaning eng katta va kichik qiymatlarini toping. \n", "4. O'lchami mxn bo'lgan matritsaning har bir qatori bo'yicha eng kichik va katta elementlarini ikkita alohida `list` o'zgaruvchisida saqlang va chop qiling. \n", "5. O'lchami mxn bo'lgan matritsaning har bir usutini bo'yicha eng kichik va katta elementlarini ikkita alohida `list` o'zgaruvchisida saqlang va chop qiling. \n", "6. O'lchalari bir xil mxn bo'lgan 2 ta matritsa ustida element bo'yicha to'rt arfimetik amallarni bajaruvchi dastur tuzing va natijalarni chop qiling.\n", "7. O'lchalari bir xil mxn va nxd bo'lgan matritsalarning ko'paytmasini toping." ] } ], "metadata": { "kernelspec": { "display_name": "ai_courses", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.0" } }, "nbformat": 4, "nbformat_minor": 5 }