4-savol
8-qism
1-savol
Bu yerda square deb nomlangan funksiyani aniqlash uchun turli xil urinishlar keltirilgan. Kelly videoda tasvirlagan narsalarga asoslanib, ularning qaysi biri to‘g‘ri sintaksisdan foydalanadi aniqlang? (Ulardan qaysi biri grammatik jihatdan to‘g‘ri?)
9-qism
1-savol
Mana Kelly hozirgina yaratgan spiral funksiyasining birinchi qatori:
def spiral(sides):
sides nima o‘zi?
Bu yerda ikkita to‘g‘ri javob bor.
Izoh: sides satr emas, sonli qiymatlarni qabul qiladi, sides parametrining funksiya chaqiruvidagi qiymati argument bo‘ladi.
2-savol
Va spiral funksiyasini chaqiradigan qator:
spiral(100)
100 nima bu yerda?
3-savol
Bu yerda spiral chizuvchi funksiya (va funksiya chaqiruvi):
def spiral(sides):
for n in range(sides):
t.forward(n)
t.right(30)
spiral(50)
Va mana bu yerda uning boshqacha ko‘rinishi:
def spiral():
sides = 50
for n in range(sides):
t.forward(n)
t.right(30)
spiral()
Bu ikkalasi bir xil narsani chizadimi?
Izoh: ikkala holda ham natija bir xil bo‘ladi, biroq birinchi funksiyaga turli argumentlar bilan turli tomonli spirallar chizish mumkin, ikkinchi esa faqat bir xil spiral chizadi.
4-savol
Bu yana videodagi spiral funksiya:
import turtle
def spiral(sides, turn, color, width):
t = turtle.Turtle()
t.color(color)
t.width(width)
for n in range(sides):
t.forward(n)
t.right(turn)
spiral()
Agar biz uni spiral() kabi chaqirsak, nima bo‘ladi?
Izoh: Funksiya 4 ta parametrga ega, demak biz unga 4 ta argument uzatishimiz kerak.
10-qism
1-savol
2-savol
Quyida draw_square funksiyasini yozish uchun turli urinishlar mavjud. Ularning har birini "to‘g‘ri" yoki "xato" deb belgilang.
Izoh: 1- va 2-holatda intendation buzilgan, 4-holatda funksiyani aniqlashda “:” tushirib qoldirilgan.
3-savol
Kodning joriy holati:
import turtle
jack = turtle.Turtle()
jack.color("yellow")
def draw_square():
for side in range(4):
jack.forward(100)
jack.right(90)
Kodning joriy holatida ishga tushirsak, nima bo‘ladi?
Izoh: U hech narsa chizmaydi, chunki bu kodda funksiya chaqiruvi yo‘q.
4-savol
Kvadratni chizish uchun kodga nimani qo‘shishimiz kerak?
5-savol
Endi funksiya chaqiruvini qayerga qo‘yishimiz kerak?
Quyidagidek funksiya ta’rifidan oldin qo‘ysak bo‘ladimi:
draw_square()
def draw_square():
for side in range(4):
jack.forward(100)
jack.right(90)
Yoki bunday qilishimiz kerakmi:
def draw_square():
for side in range(4):
jack.forward(100)
jack.right(90)
draw_square()
Izoh: Biz uni chaqirishimizdan oldin funksiya aniqlanishi kerak - aks holda biz bunday xatoga yo‘l qo‘yamiz: Error: name 'draw_square' is not defined
Boshqa misol kodi:
import turtle
jack = turtle.Turtle()
jack.color("yellow")
def draw_square():
for side in range(4):
jack.forward(100)
jack.right(90)
for square in range(80):
draw_square()
jack.forward(5)
jack.left(5)
Natija:
11-qism
1-savol
Kvadratlar har doim bir xil darajada bo‘lishining sababi ushbu qator bilan bog‘liq:
jack.forward(100)
Har safar turtle yon chiziq chizganda, xuddi shu masofani bosib o‘tadi - 100 piksel. Agar biz turli o‘lchamdagi kvadratlar chizish imkoniyatiga ega bo‘lishni istasak, 100 ni qanday narsaga almashtirishimiz kerak?
Izoh: Agar biz o‘zgaruvchidan foydalansak, o‘sha o‘zgaruvchiga berilgan butun sonni o‘zgartirishimiz mumkin va bu turtle harakatlanish masofasini o‘zgartiradi.
2-savol
Bu yerda funksiyani o‘zgartirishga urinishlar mavjud. Ularning har birini "to‘g‘ri" yoki "noto‘g‘ri" deb belgilang.
Izoh: 2-holatda 100 parametr bo‘la olmaydi, 4-holatda parametr bor, lekin undan foydalanilmagan.
3-savol
Ushbu qatorda ...
def draw_square(length):
... length o‘zgaruvchisi funksiya ta’rifi qavsining yonida yoziladi. Ushbu o‘zgaruvchiga murojaat qilish uchun odatda ishlatiladigan yana qanday so‘z bor?
4-savol
Arqumentni biror-bir funksiyaga o‘tkazish tushunchasi chalkash bo‘lishi mumkin, shuning uchun keling, biroz ko‘proq mashq qilaylik. Ushbu kod nima qiladi?
def draw_thingy(n):
for side in range(20):
jack.forward(n)
jack.right(n)
draw_thingy(100)
5-savol
Ushbu kod ishlaganda nima qiladi?
def draw_square(length):
for side in range(4):
jack.forward(length)
jack.right(90)
draw_square()
Izoh: Ushbu kodni ishga tushirish quyidagi xatoga olib keladi:
Error: draw_square() takes exactly 1 arguments (0 given)
Do'stlaringiz bilan baham: |