13-qism
1-savol
Quyidagi kodda qaysi o‘zgaruvchilar lokal, qaysilari global bo‘ladi?
import turtle
# Turtle raqsi qanchalik tez bo‘ladi?
intensity = 10
def bounce(something):
dance = [-1, 1, -1, 1, -1, 1]
for step in dance:
something.forward(step * intensity)
def boogie():
wiggler = turtle.Turtle()
bounce(wiggler)
wiggler.right(90)
bounce(wiggler)
boogie()
Izoh: Ushbu dance o‘zgaruvchisi bounce funksiyasi uchun lokal, wiggler o‘zgaruvchisi esa boogie funksiyasi uchun lokaldir. O‘zgaruvchi intensity globaldir.
2-savol
Tasavvur qiling, ushbu kodni yuqoridagi dastur oxiriga qo‘shdingiz:
doodler = turtle.Turtle()
doodler.forward(step)
Bu ish beradimi yoki xato bo‘ladimi?
Izoh: step o‘zgaruvchisi bounce funksiyasi ichidagi for sikli bilan aniqlanadi. Shunday qilib, u lokal miqyosga ega va unga ushbu funksiya tashqarisidan kirish mumkin emas.
14-qism
1-savol
import turtle
def draw_square():
jack = turtle.Turtle()
jack.color("yellow")
for side in range(4):
jack.forward(100)
jack.right(90)
draw_square()
jack.penup()
jack.back(100)
Yuqoridagi kodni ishlatsam nima bo‘ladi?
Izoh: Tayinlash ifodasi jack = turtle.Turtle() funksiyasi ichida, shuning uchun jack bu lokal o‘zgaruvchi. Bu funksiyadan tashqarida aniqlanmagan degan ma’noni anglatadi, shuning uchun Python jack.penup()ni ishlatishga harakat qilganda, jack nimani anglatishini bilmaydi.
2-savol
Kodni tuzatishga urinish. E’tibor bering, 'jack`-ni aniqlaydigan chiziq funksiyaning tashqi tomoniga o‘tkazildi.
import turtle
jack = turtle.Turtle()
jack.color("yellow")
def draw_square():
for side in range(4):
jack.forward(100)
jack.right(90)
draw_square()
jack.penup()
jack.back(100)
Bu ish beradimi yoki u hanuzgacha xatoga olib keladimi?
Izoh: Hozirda 'jack` global o‘zgaruvchidir, shuning uchun kodning hamma joyida aniqlanadi.
3-savol
Kodni tuzatish uchun yana bir (boshqa) urinish:
import turtle
def draw_square():
jack = turtle.Turtle()
jack.color("yellow")
for side in range(4):
jack.forward(100)
jack.right(90)
jack.penup()
jack.back(100)
draw_square()
Bu ish beradimi yoki u hanuzgacha xatoga olib keladimi?
Izoh: jack - bu lokal o‘zgaruvchi, ammo 'jack`ga tegishli bo‘lgan satrlar hammasi funksiya ichida, shuning uchun bu juda yaxshi ishlaydi.
16-qism
1-savol'>1-savol__Ushbu_shartli_ifodalar_ma’noga_ega_bo‘ladigan_qilib_moslashtiring.____2-savol'>1-savol
Ushbu shartli ifodalar ma’noga ega bo‘ladigan qilib moslashtiring.
2-savol
Bu kod ishga tushirilganda, becky qanday rangda chizadi?
squids = 17
becky = turtle.Turtle()
becky.color("red")
if squids == 42:
becky.color("blue")
becky.width(5)
Izoh: squids o‘zgaruvchi qiymati 17. Bu 42 ga teng emas, demak becky.color("blue") ifodasi bajarilmaydi.
17-qism
1-savol
Ikkita kod parchalari. Ular bir xil vazifani bajarishadimi?
if code == "clever":
dance()
else:
sigh()
sigh()
if code == "clever":
dance()
Izoh: Ular har xil narsalarni qilishadi. Agar codening qiymati "clever" bo‘lsa, unda kodning birinchi qismi faqatgina dance(), ikkinchi kod parchasi esa sigh() va keyin dance().
18-qism
1-savol
7 : 3 nechaga teng?
(Bu o‘zingizga savol berishga yordam berishi mumkin: "3 dan 7 gacha necha marta?" Yoki "3 guruhning 7 tasida nechta guruh bor va qancha qismi qolgan?").
Izoh: 7 soni 3 + 3 + 1 yig‘indiga teng. Demak 7 soni 2 ta 3 va 1 qoldiqqa teng (1 "remainder" - qoldiq deb ataladi ).
3-savol'>2-savol__Har_safar_uch_chizilganda_deyarli_hamma_narsa_o‘zgarmaydi,_bitta_narsa_o‘zgaradi_xolos._Nima_o‘zgaradi___Izoh'>2-savol
Keling, modulli bo‘lish amali bilan biroz mashq qilaylik. Ushbu amallarning har biri nimani beradi?
3-savol
Yana misol. Ushbu operatsiyalarning har biri nimani beradi?
4-savol
Modul operatori bilan odatiy narsa bu raqamlarni oshib boruvchi ketma-ketlik bilan ishlatishdir. Masalan, biz 1% 5, keyin 2% 5, keyin 3% 5 va boshqalarni bajarishimiz mumkin.
Buni o‘zingiz uchun ko‘rishga yordam beradi. Shunday qilib, bu yerda o‘sib boradigan ketma-ketlik. Agar har bir modul operatsiyasini natijasi bilan taqqoslasangiz, ko‘ring:
5-savol
Moduldan foydalanishda raqamlarning ketma-ketligi bilan yana bir misol. Ularning har biri uchun qanday natijaga erishasiz?
6-savol
Yuqoridagi jadvalga qarang, qaysi x x % 2 ga to‘g‘ri keladi?
7-savol
Ushbu ifodalarning qaysi biri x % 3 ga to‘g‘ri keladi?
Izoh: Har qanday y soni uchun x % y qiymati har doim y dan kam bo‘ladi.
8-savol
Modul ishlashi soatning qo‘liga o‘xshaydi. Daqiqa qo‘li 0 dan boshlanadi va 59 gacha, keyin keyingi soat boshida 0 ga qaytadi. Shunga o‘xshash:
0, 1, 2, 3 . . . 57, 58, 59, 0, 1, 2, 3 . . . 57, 58, 59, 0, 1, 2, 3 . . .
Ushbu namuna uchun Pythonning qanday ifodasidan foydalanishimiz mumkin?
Izoh: x oshgan sari x % 60 0 dan 59 gacha hisoblanadi. Ammo x 60 ga yetganida, bizda 60 % 60 bo‘ladi, bu esa 0 ning qolgan qismi. Shunday qilib, narsalar tiklanadi va biz 0 dan boshlaymiz, xuddi soatning qo‘lidagi kabi!
3-dars 1-qism
1-savol
Quyida kod berilgan:
t.color("green")
Ushbu kod qismlaridan qaysilari aynan bir xil natijaga ega bo‘lar edi?
Izoh: 3-holatda return bayonoti tushirib qoldirilgan.
2-savol
Ushbu kod nima qiladi?
import turtle
def square(number):
return number * number
marissa = turtle.Turtle()
distance = square(8)
marissa.forward(distance)
2-qism
1-savol
Sizningcha, bu funksiya nima qaytaradi?
def mystery():
for word in ["love", "peace", "kittens"]:
return word
return "doom"
Izoh: funksiya ro‘yxatdagi birinchi elementni qaytaradi. Ikkinchi return bayonoti hech qachon ishga tushmaydi.
Topshiriq:
Kodni qizil, yashil va ko‘k marjon chizadigan qilib o‘zgartiring
3-qism
1-savol
Va yana bir funksiyani chaqiruvi:
star("blue", 7, 50, 45, 100)
U nima qiladi?
Bu chaqiruvda argumentlar juda ko‘p, shuning uchun ular qilayotgan ishlar bilan tanishish uchun ozgina tajriba o‘tkazishga to‘g‘ri keladi.
2-savol
Har safar uch chizilganda deyarli hamma narsa o‘zgarmaydi, bitta narsa o‘zgaradi xolos. Nima o‘zgaradi?
Izoh: har bir siklda ro‘yxat bo‘yicha burchak qiymati belgilanadi va mos ravishda galileo.left(angle) bayonotida har xil burchakka burilish bajariladi.
4-qism
1-savol
Boshlanishidagi kabi, biz ushbu shaklni aylana ichidan polygon funksiyasini qayta-qayta chaqirish orqali chizishimiz mumkin(va argumentlardan biri sifatida aylana elementiga o‘tkazish).
Har safar funksiyaga murojaat qilganimizda, hamma narsa o‘zgarishsiz qoladi... faqat bir narsadan tashqari. Qaysi o‘zgarish?
5-qism
1-savol
Uch o‘quvchi Fizz Buzz o‘ynashga harakat qilishmoqchi. Qaysi biri to‘g‘ri qiladi?
Izoh: Carla 3 ning har bir ko‘paytmasi uchun "fizz", 5 ning har bir ko‘paytmasi uchun "buzz", va 15 uchun "fizzbuzz" dedi.
2-savol
Bu yerda bir nechta raqamlar. Ularni Fizz Buzz qoidasiga ko‘ra moslashtiring!
3-savol
Fizz Buzz kodini yozish uchun biz sonlarning 3 yoki 5 ga qoldiqsiz bo‘lina olishini aniqlash yo‘llariga muhtojmiz. Bu qanday qilib amalga oshiramiz?
Bu usul % modulo operatorini qo‘llashdir. Qanday ishlashini ko‘rish uchun yuqoridagi mashqdagi bir xil raqamlarni olamiz va ularda % 3ni amalga oshiramiz. Qanday natijalarni olarkanmiz?
4-savol
Bu yerda bir nechta chalg‘ituvchilari!
Tasavvur qiling biz xni 15ga teng dedik ( 3 _va_ 5ga qoldiqsiz bo‘linadigan).
Ushbu kodlarning har biri uchun nima sodir bo‘ladi?
6-qism
1-savol
Mening bord o‘yinimda Monopoly yoki Settlers of Catan kabi, o‘yinchilar ikki olti qirrali kubda aylanishadi va qiymatlarni birgalikda qo‘shishadi. Buni amalga Python ning qaysi iboralarini ishlatish kerak?
2-savol
Sizning do‘stingiz random.randint funksiyasini ishlatishga harakat qilib ko‘rdi, ammo xatoga yo‘l qo‘ydi:
NameError
Line:12
Error: 'random' nomi aniqlanmagan
Eng yaqin izoh qanday bo‘ladi?
3-savol
Bu do‘stingiz yozgan kod:
import turtle
t = turtle.Turtle
import random
t.forward(randint(100, 200))
Uni ishga tushirganda, xatolik ro‘y berdi:
NameError
Line: 7
Error: 'randint' nomi aniqlanmagan
Muammo nimada, nima deb o‘ylaysiz?
Izoh: Agar biz randint ni kodga joylashtirsak, Python uni nimaligini bilmaydi. Biz Python ga tasodifiymoduldagi funksiyaga murojaat qilmoqchiligimizni bildirish uchunrandom.randint`ni ishlatamiz.
Bu Turtle() o‘rniga turtle.Turtle() deb yozishimiz sababi bilan bir xil.
7-qism
1-savol
Quyida taqqoslash operatorlarini ishlatuvchi bir nechta turli if bayonotlari. Bazi hollarda, if bayonoti ichidagi kod ishlaydi; boshqalarida esa ishlamaydi. Nima uchu shunday?
Izoh: 10>10 hech qachon ishlamaydi, chunki 10=10. 4 esa 0 dan kichik bo‘lmaydi.
2-savol
Bular haqida qanday?
Izoh: 4 teng emas 5 ga, 4 !=4 ham hech qachon rost bo‘maydi.
9-qism
1-savol
Bu kod ishga tushgach, t.xcor()ning qiymati nima bo‘ladi?
t = turtle.Turtle()
t.forward(40)
t.right(90)
t.forward(30)
Izoh: dastlab t 40 piksel oldinga siljiydi (t.xco90 qiymati 40 bo‘ladi), biroq t.right(90) ishga tushgach t faqat y o‘q bo‘yicha yuradi, demak t.xcor() qiymati 40 bo‘ladi.
2-savol
Agar turtle kanvas 400 ga 400 piksel o‘lchamda bo‘lsa, va markazi koordinatlari 0 ga teng bo‘lsa, unda qaysi bir bayonot to‘g‘ri?
Izoh: 400 ning yarmi 200, demak kanvas -200 dan 200 gacha boradi (uzunlik va kenglikda). Kanvas o‘lchami ikkala koordinata bo‘yicha shunda 200 + 200 = 400 bo‘ladi.
3-savol
Qaysi bir taqqoslash turtleni kanvasning chap chegarasiga tomon ketishini tekshiradi?
Izoh: Agar turtlening xcor qiymati -200 dan kichik bo‘lsa, unda u ekranning chap tomoniga ketib qoladi.
4-savol
Qaysi bir taqqoslash turtlening kanvas chegarasining o‘ng yoki chapiga ketishini tekshiradi?
Do'stlaringiz bilan baham: |