Змест[Схаваць][Паказаць]
У мінулым уроку мы даведаліся пра цыклы while і пра тое, як выканаць блок кода некалькі разоў.
У Python ёсць і іншыя тыпы цыклаў, такія як «цыкл for» і «ўкладзены цыкл». Давайце паглядзім, як яны выкарыстоўваюцца.
Для завес
Мы выкарыстоўваем «цыкл for» для перабору элементаў калекцыі, такіх як радок. Паколькі радок уяўляе сабой паслядоўнасць сімвалаў, ён выглядае як калекцыя. Такім чынам, мы можам выкарыстоўваць цыкл for для перабору кожнага сімвала ў радку, а потым нешта рабіць з ім.
Вось прыклад.
Мы набіраем «for», за якім ідзе зменная, а затым радок.
for item in 'Python':
Тут «элемент» азначае сімвалы слова Python. У першай ітэрацыі цыклу «item» азначае «P», у другой ітэрацыі «y» і гэтак далей. Давайце выканаем гэта
Вы бачыце, што кожны сімвал у гэтым радку друкуецца ў новым радку.
Давайце паглядзім на іншы прыклад. У 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, я хачу, каб вы выкарысталі цыкл for, каб вылічыць агульны кошт усіх тавараў у нашым уяўным кошыку.
Уключыце свой мозг у працу і паглядзіце, ці зможаце вы гэта зрабіць. Без падману.
Рашэнне
Вы можаце пачаць з пераліку коштаў такім чынам.
prices = [10, 20, 30]
Цяпер дадайце зменную для агульнай цаны, якая будзе пачынацца з 0 для першай ітэрацыі.
total = 0
Вось наш цыкл for.
for price in prices:
total = total + price
// Гэта можа быць спрошчана як total += price
print(f"Total: {total}")
Укладзеныя цыклы
У Python выкарыстанне ўкладзенага цыкла ў асноўным азначае даданне аднаго цыкла ў іншы цыкл, і з дапамогай гэтай тэхнікі мы можам рабіць дзіўныя рэчы. Напрыклад, мы можам лёгка стварыць спіс каардынатаў.
Каардыната, як вы ведаеце, - гэта камбінацыя значэнняў 'x' і 'y'. Дапусцім, 0 і 0. А цяпер выкажам здагадку, што вы хочаце стварыць такі спіс каардынат. У нас ёсць 0 і 0, затым у нас будзе 0 і 1, потым 0 і 2.
Далей мы зменім «х». Мы будзем выкарыстоўваць 1 для 'x', і яшчэ раз мы будзем выкарыстоўваць гэтыя 3 значэння для каардынатаў 'y'.
Мы можам лёгка згенераваць гэтыя каардынаты з дапамогай укладзеных цыклаў.
Дазвольце паказаць.
for x in range(4):
for y in range(3):
print(f'({x}, {y}')
Давайце праверым выхад:
Такім чынам, дазвольце мне растлумачыць, як менавіта гэтая праграма выконваецца. У першай ітэрацыі нашага вонкавага цыкла 'x' роўны 0. Цяпер мы знаходзімся на радку 2, тут у нас ёсць новы цыкл, які мы называем унутраным цыклам. У гэтым унутраным цыкле, у першай ітэрацыі, 'y' будзе 0, таму 0 і 0 друкуюцца на тэрмінале.
Цяпер кантроль вяртаецца да радка 2 або нашага ўнутранага цыклу. У гэтай другой ітэрацыі 'y' будзе ўсталявана ў 1, але мы ўсё яшчэ знаходзімся ў першай ітэрацыі нашага вонкавага цыклу. Такім чынам, «x» па-ранейшаму роўны 0, але цяпер «y» павялічваецца да 1.
Таму мы бачым 0 і 1 на тэрмінале. Гэта будзе працягвацца, пакуль не будзе выкананы наш унутраны цыкл, а затым інтэрпрэтатар зноў пяройдзе да вонкавага цыклу, і гэты працэс будзе працягвацца, пакуль не будзе завершаны знешні цыкл.
выклік
Вось практыкаванне для вас, але яно крыху больш складанае, чым практыкаванні, якія вы выконвалі да гэтага часу.
Выкарыстоўваючы ўкладзеныя цыклы, напішыце код для малявання гэтай формы "F":
Рашэнне
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
output = ''
//Мы збіраемся скінуць выхадную зменную да пустога радка.
for count in range(x_count):
output += 'x'
print(output)
Ёсць значна больш просты спосаб выканаць гэта без выкарыстання ўкладзеных цыклаў. Я пакідаю гэта для вас, каб высветліць.
хутацца
Вы, хлопцы, таксама адчуваеце нагрэў з кожнай лекцыяй?
Я дакладна так сябе адчуваю. Я зрабіў гэта значна прасцей для вас, каб вы зразумелі.
Давайце разбярэмся з нашай наступнай лекцыяй.
Пакінуць каментар