Мундариҷа[Пинҳон кардан][Намоиш]
Мо аз фаҳмидани ҳалқаҳо оғоз мекунем ва тавассути сохтани як бозии ҷолиб дар Python пеш меравем.
Ҳама консепсияҳои қаблӣ ба кор медароянд, бинобар ин ман ба шумо тавсия медиҳам, ки пеш аз гузаштан ба лексияҳои қаблиро аз нав дида бароед.
Биёед ба он ғарқ шавем.
Дар ҳоле ки ҳалқаҳо
Мо мефаҳмем, ки чӣ тавр истифода бурдани ҳалқаҳои while дар python. Мо ҳалқаҳоро барои иҷрои блоки код чанд маротиба истифода мебарем ва онҳо аксар вақт дар сохтани барномаҳо ва бозиҳои интерактивӣ муфиданд.
Пас, биёед бо асосҳо оғоз кунем. Барои навиштани цикли while пас аз функсияи "while" шарт менависем.
Биёед як тағирёбандаи "i" -ро ҷорӣ кунем ва онро ба 1 муқаррар кунем
i = 1
while i <= 5:
print(i)
Акнун, "i" ба 1 зиёд карда мешавад, зеро агар арзиши "i" тағир наёбад, ҳалқаи дар боло зикршуда як ҳалқаи беохир хоҳад буд.
i = i + 1
Ин барнома арзиши "i" -ро то дуруст шудани шарти дар боло зикршуда чоп мекунад. Ҳамин ки арзиши "i" аз 5 зиёд мешавад, ҳалқа вайрон мешавад.
Барои фаҳмидани он, ки ин чӣ гуна кор мекунад, ба ман иҷозат диҳед, ки изҳороти дигареро бидуни банд илова кунам.
print("done")
Азбаски он ворид карда нашудааст, он бо ҳалқаи while иҷро намешавад.
Ин аст, ки чӣ тавр он кор хоҳад кард:
Биёед бо ҳалқаи while каме бозӣ кунем.
Ман дар ҳалқаи while бо "ситорача" бо зарб бо "i" сатри дигар илова мекунам. Биёед бубинем, ки он ба барномаи мо чӣ гуна таъсир мерасонад.
i = 1
while i <= 5:
print('*' * i)
Ҳоло он ситорачаҳоро чоп мекунад, то шумораи ситорачаҳо аз 5 зиёд шавад.
Ҳоло мо ҳалқаи while-ро барои истифода мегузорем. Биёед як бозии тахминӣ созем.
Бозии тахминӣ бо истифода аз while Loops
Консепсия ин аст, ки барнома рақами махфиро дар хотираи худ нигоҳ медорад ва аз мо хоҳиш мекунад, ки онро тахмин кунем. Мо 3 кӯшиш дорем, ки ин рақамро тахмин кунем. Агар шумо рақамро тахмин кунед, шуморо табрик мекунанд. Биёед сари худро якҷоя кунем.
Мо як тағирёбандаро барои рақами махфии худ ҷорӣ мекунем.
secret_number = 6
Ҳоло, мо бояд ҳалқаи while нависем, то аз корбар такроран хоҳиш кунем, ки рақамро тахмин кунад. Пеш аз он, мо бояд тағирёбандаи дигареро ҷорӣ кунем, то шумораи кӯшишҳои иҷозатшударо муқаррар кунем.
guess_count = 0
while guess_count < 3:
guess = int(input('guess: '))
guess_count +=1
if guess == secret_number
print("Congratulations! You won")
Ин барнома вуруди ададро аз корбар мегирад ва онро дар "тахмин" захира мекунад. Он гоҳ онро бо рақами махфӣ бо истифода аз он муқоиса мекунад оператори муқоиса ва агар ҳарду баробар бошанд, бармегардад «Табрик!
Шумо бурд кардед". Аммо ин барнома баъзе камбудиҳо дорад. Агар шумо рақамро дар кӯшиши аввал тахмин кунед, он ба ҳар ҳол аз шумо хоҳиш мекунад, ки пас аз табрик кардани шумо ду маротибаи дигар тахмин кунед. Ин мушкилотро бо истифода аз изҳороти "танаффус" барои шикастани ҳалқа ҳал кардан мумкин аст.
Бубинед!
Ҳоло, мо як изҳороти "дигар" -ро илова мекунем, ки агар шумо рақамро дар се кӯшиш муайян карда натавонед, иҷро мешавад.
Ҳоло, дар ин ҳолат, мо аз даври while як изҳороти else илова мекунем, ки агар ҳалқа бо оператори if вайрон нашавад, иҷро мешавад.
Умедворам, ки ин барои шумо як фаъолияти шавқовар буд. Шумо метавонед худро ба чунин фаъолиятҳо ҷалб кунед, то дар Python соҳибихтисос шавед.
Ба натиҷа расидан
Ин лекция ба охир расид. Умедворам, ки шумо то ҳол аз он баҳра бурдед. Бо шумо дар оянда вохӯрем. То он вақт машқ карданро давом диҳед.
Дин ва мазҳаб