Преглед садржаја[Сакрити][Прикажи]
У последњем туторијалу научили смо о вхиле петљама и како да извршимо блок кода више пута.
У Питхон-у имамо друге врсте петљи као што су „фор петља“ и „угнежђена петља“. Да видимо како се користе.
Фор Лоопс
Користимо „фор петљу“ за понављање ставки колекције, као што је низ. Пошто је стринг низ знакова, изгледа као колекција. Због тога можемо да користимо петљу фор да пређемо преко сваког знака у низу, а затим да урадимо нешто са њим.
Ево примера.
Уписујемо „за“, а затим следи променљива, а затим стринг.
for item in 'Python':
Овде „ставка“ означава знакове речи Питхон. У првој итерацији петље “итем” значи 'П', друга итерација значи 'и' и тако даље. Хајде да извршимо ово
Можете видети да је сваки знак у овом низу одштампан у новом реду.
Погледајмо још један пример. У Питхон-у можемо дефинисати листе помоћу угластих заграда. Дозволите ми да дефинишем листу користећи угласте заграде.
for item in ['Shahbaz', 'Aayush', 'Jay']:
print(item)
Сада ће навести три имена у одвојеним редовима.
У овој поставци можемо користити и листу бројева. Уместо да куцам све бројеве од 0 до 9, користићу функцију „Распон“ да поједноставим ствари. Да видимо како се то ради.
for item in range(10):
print(item)
Такође можемо да га програмирамо да не почиње са 0.
for item in range(5, 10):
На терминалу ће штампати бројеве од 5 до 9.
Функција „Распон“ такође може предузети кораке као улаз. Дакле, ако то напишемо овако:
for item in range(5, 10, 2):
Одштампаће 5, 7 и 9 што значи да иде два корака напред након сваке итерације.
Вежба
Ево вежбе за вас. Желим да напишете програм за израчунавање укупне цене свих артикала у корпи. Дакле, рецимо да имамо листу цена као што су 10, 20 и 30, желим да користите фор петљу да бисте израчунали укупну цену свих артикала у нашој замишљеној корпи.
Укључите свој мозак и видите да ли можете то да урадите. Нема преваре.
Решење
Можете почети тако што ћете навести овакве цене.
prices = [10, 20, 30]
Сада додајте променљиву за укупну цену која ће почети од 0 за прву итерацију.
total = 0
Ево наше фор петље.
for price in prices:
total = total + price
// Може се поједноставити као total += price
print(f"Total: {total}")
Нестед Лоопс
У Питхон-у, коришћење угнежђене петље у основи значи додавање једне петље унутар друге петље, а са овом техником можемо да урадимо неке невероватне ствари. На пример, лако можемо да генеришемо листу координата.
Координата је, као што знате, комбинација вредности 'к' и 'и'. Рецимо 0 и 0. Сада рецимо да желите да генеришете листу координата попут ове. Имамо 0 и 0, онда ћемо имати 0 и 1, затим 0 и 2.
Затим ћемо променити 'к'. Користићемо 1 за 'к', и још једном ћемо користити ове 3 вредности за 'и' координате.
Ове координате можемо лако генерисати користећи угнежђене петље.
Да ти покажем.
for x in range(4):
for y in range(3):
print(f'({x}, {y}')
Хајде да проверимо излаз:
Дозволите ми да објасним тачно како се овај програм извршава. У првој итерацији наше спољне петље, 'к' је 0. Сада смо на линији 2, овде имамо нову петљу коју зовемо унутрашња петља. У овој унутрашњој петљи, у првој итерацији, 'и' ће бити 0, тако да се 0 и 0 штампају на терминалу.
Сада се контрола враћа на линију 2 или нашу унутрашњу петљу. У овој другој итерацији, 'и' ће бити постављено на 1, али смо још увек у првој итерацији наше спољне петље. Дакле, 'к' је и даље 0, али је сада 'и' повећано на 1.
Зато видимо 0 и 1 на терминалу. Ово ће се наставити све док се наша унутрашња петља не изврши, а затим ће тумач поново отићи у спољну петљу и овај процес се наставља све док се спољна петља не заврши.
Изазов
Ево вежбе за вас, али ова је мало изазовнија од вежби које сте до сада радили.
Користећи угнежђене петље, напишите код за цртање овог 'Ф' облика:
Решење
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
output = ''
// Ресетоваћемо излазну променљиву на празан стринг.
for count in range(x_count):
output += 'x'
print(output)
Постоји много једноставнији начин да се ово изврши без употребе угнежђених петљи. Остављам вама да схватите.
Упаковати
Да ли и ви осећате да се врелина повећава са сваким предавањем?
Дефинитивно се тако осећам. Много сам вам олакшао разумевање.
Хајде да изнесемо ствари са нашим следећим предавањем.
Ostavite komentar