Мазмуну:

Pythonдо кантип цикл түзүү керек: 9 кадам
Pythonдо кантип цикл түзүү керек: 9 кадам

Video: Pythonдо кантип цикл түзүү керек: 9 кадам

Video: Pythonдо кантип цикл түзүү керек: 9 кадам
Video: 1-тема: Python программалоо тили 2024, Июль
Anonim
Pythonдо Кантип Убакыт Циклди түзүү керек
Pythonдо Кантип Убакыт Циклди түзүү керек

Программалоодо бир маселени чечүү үчүн бир нече кадамдарды кайталоо керек болгон учурлар болот. Убакыт цикли коддун бир бөлүгүн кайталап код жазбай эле айланып өтүүгө мүмкүндүк берет. Программалоодо бир эле кодду кайра -кайра жазуу жаман практика болуп эсептелет. Программаңызды кыска жана башка программисттерге кодуңузду окуп жана чечмелөөнү жеңилдетүү үчүн кайталанган коддон качышыңыз керек.

Убакыт цикли - бул кодду таза жана кыска сактоо менен программалоодо этаптарды эффективдүү айлантууга мүмкүнчүлүк берген эң сонун курал. Төмөндөгү кадамдар тизмеде кантип айлануу үчүн Pythonдо убактылуу циклди кантип түзүүнү көрсөтөт. Бул көнүгүү Pythonдо "тизмелер" деп аталган массивдер жөнүндө бир аз билими бар башталгычтар үчүн. Бул 15 мүнөттүк көнүгүү үчүн, биз сандардын тизмесин илип, ар бир сандын маанисин бешке көбөйтөбүз. Мисалы, эгер тизмеде сандар болсо [1, 2, 4, 7], цикл [6, 7, 9, 12] деген сандарды камтыган жаңы тизме чыгарат.

Жабдуулар

Python 3 (жүктөө үчүн шилтемени басыңыз)

1 -кадам: Функцияны аныктаңыз

Биринчи кадам - бул тизмедеги параметр менен функцияны аныктоо. Төмөндөгү мисалда addFive деп аталган функция түзүлөт жана lst (тизме үчүн кыска) параметри берилет. Белгиленген функция билдирүүсүнүн аягына эки чекит кошууну унутпаңыз.

def addFive (lst):

2 -кадам: Бош тизме түзүү

Андан кийин, бош тизмекти башташыбыз керек, анын жардамы менен функция иштеп бүткөндөн кийин [6, 7, 9, 12] санын көбөйткөн жаңы тизме түзөбүз. Жаңы тизмеге баалуулуктарды коюу оригиналдуу тизмени өзгөртүүсүз калтырууга мүмкүндүк берет.

Төмөндөгү мисалда, nlst өзгөрмөсү менен жаңы тизме түзүлөт, андан кийин жабык кашаанын жардамы менен бош тизмеге барабар болот. Өзгөрмөнүн чегинишин тактаңыз.

def addFive (lst):

nlst =

3 -кадам: Өзгөрмө "индексти" 0 санына коюңуз

Биз 0 санына барабар өзгөрмөлүү индексти коюшубуз керек. Бул билдирүү 0 индекси болгон тизменин баштапкы индексин белгилейт. Кийинчерээк, калган индекстерди айланып өтүү үчүн while циклиндеги индексти 1ге көбөйтөбүз. Индекстин өзгөрмөсүн орнотуу үчүн төмөнкү мисалды караңыз.

def addFive (lst):

nlst = индекс = 0

4 -кадам: Loop билдирүүсүндө баштаңыз

Loop билдирүүсүндө баштоо
Loop билдирүүсүндө баштоо

Кийинки, биз өзүбүздүн циклди төмөнкү мисалда тиешелүү шарттуу билдирүүнү жазуудан баштайбыз. Биз цикл үчүн баштапкы билдирүүнү түзгөндөн кийин, цикл үчүн кадамдарыбызды жазабыз. While циклинин шарттуу билдирүүсүнүн аягына эки чекитти киргизүүнү унутпаңыз.

def addFive (lst):

nlst = индекс = 0, ал эми индекс <len (lst):

Келгиле, бул шарттуу билдирүүнү бузалы. Билдирүүдө мындай деп айтылат: “индекси болсо тизменин узундугунан азыраак… " Тизменин узундугу [1, 2, 4, 7] 4кө барабар, анткени тизмеде 4 сандык элемент бар. Тизменин индекси 0 санынан башталып жаткандыктан, акыркы индекс дайыма тизменин минус 1 узундугу болот. Биздин тизмедеги мисалда [1, 2, 4, 7], тизменин акыркы индекси 4 - 1ге барабар Бул 3кө барабар. Демек, индекс 3 тизмедеги акыркы көрсөткүч.

Көрсөткүчтөр тизмедеги элементтерге кантип дал келерин мисал үчүн караңыз. 0 индекси 1 санын, 1 индекси 2 санын, 2 индекси 4 санын жана 3 индекси 7 санын камтыйт.

Жогорудагы диаграммадан 3 -индекс кантип тизмедеги акыркы индекс экенин көрө алабыз. 3 индекси тизменин акыркы индекси болгондуктан, биз азыр 3 -индекс акыркы цикл экенин билебиз, ал эми цикл бүткөнгө чейин 5ке көбөйүшү керек. Ошондуктан, биз while циклинин шарттуу билдирүүсүн циклди улантуу үчүн койдук, ал эми өзгөрмөлүү индекс тизмектин узундугунан (4) азыраак, анткени 3 саны 4 санынан бир аз.

5 -кадам: Кошуу ыкмасын кошуу

Эми укуруктун денесин түзүүгө убакыт келди. Денедеги кадамдар үчүн, биринчи индекс үчүн эмне кылуу керектигин ойлонуп көрүңүз. Биздин while цикли калган индекстер үчүн кадамдарды кайталоону чечет. Тизменин биринчи индексинде (индекс 0) [1, 2, 4, 7], биз 1 санын алып, ага 5ти кошкубуз келет, андан кийин жаңы номерди nlst бош тизмесине кошобуз.

Бош тизмеге элемент кошуу үчүн, биз аны кошуу ыкмасын колдонуу менен тизмеге кошушубуз керек. Append ыкмасын колдонуу үчүн, биз nlst.append () деп жазабыз, төмөнкү мисалда көрсөтүлгөндөй, методдун чалуусунун аягында кашаанын бар экенин тактаңыз. Андан кийин кашаанын ичине биз учурдагы сан элементин кошуу менен 5 (башкача айтканда 1 + 5 = 6) аткарыла турган кодду кошобуз.

def addFive (lst):

nlst = index = 0, ал эми индекс <len (lst): nlst.append ()

6 -кадам: Тиркеменин ичине математикалык туюнтманы кыстаруу

Учурдагы сан элементин алуу үчүн, биз индексти колдонуп тизме элементине киребиз:

lst [0] = 1

lst [1] = 2

lst [2] = 4

lst [3] = 7

Ошентип, цикл учурунда тизмедеги биринчи элементке кирүү үчүн код lst [index] болмок, анткени башында биз өзгөрмө индексти 0 деп койгонбуз. Элементке 5 кошуу үчүн lst [индекс] + 5. Биринчи индекс үчүн (индекс 0), бул 1 + 5 берет, бул 6га барабар.

Эми биз жаңы 6 санын эсептеп чыккандан кийин, бул номерди бул тизмеге кошуу менен бош тизмеге киргизишибиз керек. Код үчүн төмөнкү мисалды караңыз.

def addFive (lst):

nlst = index = 0, ал эми индекс <len (lst): nlst.append (lst [index] + 5)

7 -кадам: "Индекстин" өзгөрмөсүн 1ге көбөйтүңүз

Кийинки сап жөнөкөй. Жаңы сан 0 индекси үчүн эсептелгенден кийин, биз башка индекстердин баарына бирдей эсептегибиз келет. Бактыга жараша, while цикли акыркы көрсөткүчкө жеткенге чейин кадамдарды кайталап иштетет! Эми, биз учурдагы индекс менен жасалган сайын цикл кийинки индексти тандап жана эсептеп жатканына ынануубуз керек.

Укуруктун кийинки индексти тандоосу үчүн, биз жөн гана индекстин өзгөрмөсүн 1ге көбөйтүшүбүз керек. Ар бир циклдин аягында индекстин өзгөрмөсүн 1ге көбөйтүү менен, цикл кайра иштегенде кийинки индексти кармап калат. Циклдин аягында индекстин өзгөрмөсүн жогорулатуу үчүн төмөнкү мисал кодун караңыз.

def addFive (lst):

nlst = index = 0, ал эми индекс <len (lst): nlst.append (lst [index] + 5) index = index + 1

8 -кадам: Кайтаруу билдирүүсүн кошуу

Биз while loop функциясын түзүүнүн акыркы баскычына чыктык! Эми, биз жөн гана кайтарууну билдирүүнү кошуп, nlst тизмесин биз каалаган каалаган өзгөрмөгө кайтарабыз. Кайтаруу билдирүүсүнүн чегинүүнү тактаңыз, ошондо ал lL бүт параметрин толугу менен айланып бүткөндөн кийин гана nlst кайтып келет.

def addFive (lst):

nlst = index = 0 while index <len (lst): nlst.append (lst [index] + 5) index = index + 1 return nlst

9 -кадам: While Loop Функциясын текшериңиз

Эми, биз иштей тургандыгын билиш үчүн while loop функциябызды текшеришибиз керек. Биринчиден, Python файлыңызды компьютериңизге сактаңыз, андан кийин программаны иштетүү үчүн клавиатураңыздагы F5 баскычын басыңыз. Андан кийин, төмөнкү мисалдагы билдирүүлөрдү териңиз (жебелердин жанындагы сөздөр). Жыйынтыгын көрүү үчүн ар бир билдирүүдөн кийин enter басыңыз.

Сиздин жыйынтыктар төмөндөгү жыйынтыктарга дал келиши керек. Эгерде сиздин жыйынтыктар дал келбесе, анда бардык өзгөрмөлөрүңүздү туура жазганыңызды текшериңиз, анткени туура эмес жазылган өзгөрмөлөр программалоодо жалпы ката болуп саналат. Калыбына келтирилген өзгөрмөнүн туура эмес жазылышы - бул кодуңузду иштетүүгө аракет кылып жатканда ката билдирүүлөрдү жаратуучу жол.

>> а = [1, 2, 4, 7]

>> b = addFive (a) >>> b [6, 7, 9, 12] >>> a [1, 2, 4, 7]

*Эскертүү тизмеси addFive функциясын чакыргандан кийин ошол бойдон калат. Бул биз функциянын органында жаңы тизме түзгөндүктөн. Бул бузулбай турган функция деп эсептелет, анткени баштапкы тизме ЭМЕС болгон.

Куттуктайм! Pythonдо биринчи while циклин жаздыңыз. Убакыт цикли - бул программалоодо этаптардын жыйындысын эффективдүү айлантууга мүмкүндүк берген эң сонун курал. Бул цикл дагы кодду кайталап жазуудан сактануу менен таза код жазууга жардам берет. Эгерде сиз качандыр бир убакта бир команда менен долбоордун үстүндө иштеп жатсаңыз, анда сиздин команданын мүчөлөрү программаларыңызды окуп жатканда ашыкча коддордун кошумча саптарын электен өткөрбөгөнүңүз үчүн ыраазы болушат. A while loop - бул коддоо саякатыңызда сизге жардам берүүнү уланта турган күчтүү курал!

Сунушталууда: