For Π² python: Π¦ΠΈΠΊΠ»Ρ‹ for ΠΈ while, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ break ΠΈ continue, волшСбноС слово else

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ языка Python

ЗанятиС 4. Π¦ΠΈΠΊΠ» for

Π—Π°Π΄Π°Ρ‡Π° Β«Π‘ΡƒΠΌΠΌΠ° N чисСл»


УсловиС Π”Π°Π½ΠΎ нСсколько чисСл. ВычислитС ΠΈΡ… сумму. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ количСство чисСл N, Π·Π°Ρ‚Π΅ΠΌ вводится Ρ€ΠΎΠ²Π½ΠΎ N Ρ†Π΅Π»Ρ‹Ρ… чисСл. КакоС наимСньшСС число ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ?

Π’ΠΎ всСх Π·Π°Π΄Π°Ρ‡Π°Ρ… считывайтС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· input() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· print().


ВСсты
Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 1
10
1
2
1
1
1
1
3
1
1
1
13
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 2
10
1
2
3
4
5
6
7
8
9
10
55
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 3
10
8
4
5
3
9
2
3
4
5
1
44
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 4
10
758
483
893
393
293
292
292
485
828
182
4899
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 5
10
-1
-2
-3
-4
-5
-6
-7
-8
-9
0
-45
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 6
10
0
0
0
0
0
0
0
0
0
0
0
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 7
1
891
891
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 8
2
235
56
291
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 9
0
0
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 10
3
1
2
3
6
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 11
4
4
4
4
4
16

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ языка Python

ЗанятиС 4. Π¦ΠΈΠΊΠ» for

Π—Π°Π΄Π°Ρ‡Π° Β«Π‘ΡƒΠΌΠΌΠ° Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ²Β»


УсловиС

По Π΄Π°Π½Π½ΠΎΠΌΡƒ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠΌ \(n\) вычислитС сумму \(1!+2!+3!+…+n!\). Π’ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ†ΠΈΠΊΠ». ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ матСматичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ math Π² этой Π·Π°Π΄Π°Ρ‡Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ.


Π’ΠΎ всСх Π·Π°Π΄Π°Ρ‡Π°Ρ… считывайтС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· input() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· print().


ВСсты
Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 1
1
1
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 2
2
3
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 3
3
9
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 4
4
33
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 5
5
153
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 6
6
873
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 7
7
5913
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 8
8
46233
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 9
9
409113
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст 10
10
4037913

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» for Π² Python

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†ΠΈΠΊΠ»Π° for Π² Python.

ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с ΠΏΠ°Ρ€Ρ‹ основных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ ΠΈΡ… синтаксиса. Π”Π°Π»Π΅Π΅ обсудим, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π±Π»ΠΎΠΊ else, связанный с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΈΡ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (iterable), ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (iterator) ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ПослС этого ΠΌΡ‹ обсудим, ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» for Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ с использованиСм ΠΈΡ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠŸΠΎΡ‚ΠΎΠΌ ΠΌΡ‹ рассмотрим Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ†ΠΈΠΊΠ»Π° for, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ» while ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ интСрСсно, ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ простой Ρ†ΠΈΠΊΠ» for ΠΈ пройдСмся ΠΏΠΎ инструкциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python выполняСт ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°

for. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»Π° for.

Π¦ΠΈΠΊΠ» for Π² Python

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для создания Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² Python, Π΄Ρ€ΡƒΠ³ΠΈΠΌ являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while. Если Π²Ρ‹ совсСм Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с итСрациями Π² Python, Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² Python: ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ for, while, break ΠΈ continue которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для изучСния Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ†ΠΈΠΊΠ» for

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с простого Ρ†ΠΈΠΊΠ»Π° for, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ список строк ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку.

>>> for word in ["You", "are", "awesome!"]:
...   print(word)
...
You
are
awesome!

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ всС слова Π² спискС ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΈΡ…. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Ρ†ΠΈΠΊΠ»Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

word присваиваСтся элСмСнт списка, Π° Π·Π°Ρ‚Π΅ΠΌ выполняСтся ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ список β€” это упорядочСнная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов, Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Π½ΠΈΠΌ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС.

Π¦ΠΈΠΊΠ» for с условиСм else

Π’ Python Ρ†ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ условиС else. ΠšΠΎΠ΄ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ else выполняСтся послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° for, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС элСмСнты ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ элСмСнта Π±Ρ‹Π»ΠΈ исчСрпаны. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ условиС else.

>>> for word in ["You", "are", "awesome!"]:
...   print(word)
... else:
...   print("See you later!")
...
You
are
awesome!
See you later!
Когда ΠΏΠΎΠ»Π΅Π·Π½ΠΎ условиС else?

Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π±Π»ΠΎΠΊ else выполняСтся послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° for. Π’Π°ΠΊ ΠΊΠ°ΠΊΠΎΠΉ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ else? Π Π°Π·Π²Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² послС Ρ†ΠΈΠΊΠ»Π° for?

Ну, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Ρƒ нас Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° for, ΠΊΠΎΠ³Π΄Π° выполняСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ условиС. И Ссли это условиС Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ выполняСтся, Π½ΠΎ Π½Π°ΠΌ всС Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Для этого ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ логичСский Ρ„Π»Π°Π³. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

def search(search_list, search_item):
  found_item = False

  for word in search_list:
    if word == search_item:
      found_item = True
      print("Found word '{}'".format(search_item))
      break

  if not found_item:
    print("Word '{}' was not found!".format(search_item))

ИспользованиС:

>>> search(["You", "are", "awesome!"], "are")
Found word 'are'
>>> search(["You", "are", "awesome!"], "we")
Word 'we' was not found!

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠ° else ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ использования логичСского Ρ„Π»Π°Π³Π° found_item. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ else. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊ else Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½, Ссли Π² Ρ†ΠΈΠΊΠ»Π΅ for встрСчаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break.

def search(search_list, search_item): for word in search_list: if word == search_item: print("Found word '{}'".format(search_item)) break else: print("Word '{}' was not found!".format(search_item))

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±Π»ΠΎΠΊ else Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break Π² Ρ†ΠΈΠΊΠ»Π΅ for, ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ выполнился Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ссли условиС break Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ.

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, связанныС с else, просто Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ†ΠΈΠΊΠ»Π° for. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ это, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Π² послСднСм Ρ€Π°Π·Π΄Π΅Π»Π΅ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Бинтаксис Ρ†ΠΈΠΊΠ»Π° for

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ рассмотрСли нСсколько основных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠΌ этот Ρ€Π°Π·Π΄Π΅Π» синтаксисом Ρ†ΠΈΠΊΠ»Π° for.

for <element> in <iterable>: <set_of_statements_1> else: <set_of_statements_2>

По сути, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ элСмСнта выполняСтся set_of_statements_1. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС элСмСнты исчСрпаны, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±Π»ΠΎΠΊΡƒ else ΠΈ выполняСтся set_of_statements_2.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Если Π±Π»ΠΎΠΊ else отсутствуСт, Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Ρ‹, ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (iterables) ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (iterators)

Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ использовали Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«iterablesΒ» для обозначСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ итСрировался Ρ†ΠΈΠΊΠ»ΠΎΠΌ for. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Python.

Π’ Python ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ с использованиСм Ρ†ΠΈΠΊΠ»Π° for. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ iter(). Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… встроСнных ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Python.

>>> iter("You are awesome!") # String
<str_iterator object at 0x1041ad2e8>
>>> iter(["You", "are", "awesome!"]) # List
<list_iterator object at 0x1041ad358>
>>> iter(("You", "are", "awesome!")) # Tuple
<tuple_iterator object at 0x1041ad390>
>>> iter({"You", "are", "awesome!"}) # Set
<set_iterator object at 0x1041ac678>
>>> iter({1: "You", 2: "are", 3: "awesome!"}) # Dictionary
<dict_keyiterator object at 0x10400df48>
>>> iter(range(3)) # Range function
<range_iterator object at 0x1041a1450>

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ iter() для ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

А Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€? Π’ Python ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ опрСдСляСтся ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…. По сути, Ссли ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ next(), ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· связанного ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Когда всС элСмСнты исчСрпаны, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ StopIteration. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ StopIteration для Π»ΡŽΠ±Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° next().

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° со списком.

>>> my_list = ["You", "are", "awesome!"]
>>>
>>> # Get the iterator.
... list_iterator = iter(my_list)
>>>
>>> # Get next element of iterator.
... next(list_iterator)
'You'
>>> next(list_iterator)
'are'
>>> next(list_iterator)
'awesome!'
>>> next(list_iterator)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>> next(list_iterator)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration

Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹! Но..

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ: ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сами ΠΏΠΎ сСбС Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ (обязаны ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ согласно ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°) ΠΌΠ΅Ρ‚ΠΎΠ΄ iter(). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ iter() для ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

>>> my_list = ["You", "are", "awesome!"]
>>> list_iterator = iter(my_list)
>>> list_iterator
<list_iterator object at 0x1099a6320>
>>> iterator_of_iterator = iter(list_iterator)
>>> iterator_of_iterator
<list_iterator object at 0x1099a6320>

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ оТидаСтся итСрация, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ†ΠΈΠΊΠ»Π΅ for.

Однако ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² iter() для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ list, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. Но Π²Ρ‹Π·ΠΎΠ² iter() для ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° просто Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

>>> my_list = [1, 2]
>>> iter(my_list)
<list_iterator object at 0x1099a62b0>
>>> iter(my_list) # This gives a fresh iterator object
<list_iterator object at 0x1099a62e8>
>>> my_list = [1, 2]
>>> list_iter = iter(my_list)
>>> list_iter
<list_iterator object at 0x1099a62b0>
>>> iter(list_iter) # This returns the same iterator object
<list_iterator object at 0x1099a62b0>
>>> iter(list_iter) # This returns the same iterator object
<list_iterator object at 0x1099a62b0>
Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ списку Π΄Π²Π°ΠΆΠ΄Ρ‹

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ.

>>> my_list = ["You are Awesome!"]
>>>
>>> for word in my_list:
...   print(word)
...
You are Awesome!
>>> for word in my_list:
...   print(word)
...
You are Awesome!
Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ Ρ‡Π΅Ρ€Π΅Π· list_iterator Π΄Π²Π°ΠΆΠ΄Ρ‹

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ исчСрпан Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π· ΠΌΡ‹ просто Π²ΠΈΠ΄ΠΈΠΌ пустой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

>>> my_list = ["You are Awesome!"]
>>> list_iterator = iter(my_list)
>>>
>>> for word in list_iterator:
...   print(word)
...
You are Awesome!
>>>
>>> for word in list_iterator:
...   print(word)
...
>>>

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ:

  1. Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ iter() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€.
  2. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€,
    1. ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ next() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ StopIteration послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ исчСрпаны.
    2. ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ iter() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сСбя.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° β€” это Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ стандартный способ опрСдСлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠ°ΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π² дСйствии Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Богласно ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  1. __next()__
    • Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт сСрии ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ вызываСтся. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС элСмСнты исчСрпаны, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ StopIteration.
    • Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ next().
  2. __iter()__
    • Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
    • Π­Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ iter().

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСго собствСнного ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свой собствСнный ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΌΡ‹ создаСм наш собствСнный класс Range, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ числа Π² Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ шагом.

class Range:
  def __init__(self, start, stop, step):
    self.next = start
    self.stop = stop
    self.step = step

  def __next__(self):
    if self.next > self.stop:
      raise StopIteration
    next_item = self.next
    self.next += self.step
    return next_item

  def __iter__(self):
    return self

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for.

>>> for num in Range(1, 10, 2):
...   print(num)
...
1
3
5
7
9

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ экзСмпляр Range являСтся ΠΊΠ°ΠΊ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСго собствСнного ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

ВсС, Ρ‡Ρ‚ΠΎ для этого Π½ΡƒΠΆΠ½ΠΎ, это Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ __iter__() , Ρ‚. Π΅. Π² этом случаС ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр Range.

class RangeIterable:
  def __init__(self, start, stop, step):
    self.start = start
    self.stop = stop
    self.step = step

  def __iter__(self):
    return Range(self.start, self.stop, self.step)

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ наш RangeIterable с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for.

>>> for num in RangeIterable(1, 10, 2):
...   print(num)
...
1
3
5
7
9

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» for?

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ поняли, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» for.

Π”Π°Π²Π°ΠΉΡ‚Π΅ снова посмотрим Π½Π° наш ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

>>> for word in ["You", "are", "awesome!"]:
...   print(word)
... else:
...   print("See you later!")
...
You
are
awesome!
See you later!

Когда ΠΌΡ‹ выполняСм Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ iter() для списка [Β«YouΒ», Β«areΒ», Β«awesome!Β»]. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
  2. Π—Π°Ρ‚Π΅ΠΌ вызываСтся next() для ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π°, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС word.
  3. ПослС этого выполняСтся Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, связанный с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for. Π’ этом случаС print(word).
  4. Π¨Π°Π³ΠΈ 2 ΠΈ 3 ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° next() Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ StopIteration.
  5. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ next() Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ StopIteration, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡŽ else, Ссли ΠΎΠ½ΠΎ присутствуСт, ΠΈ выполняСтся Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², связанных с else.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если Π² Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, связанном с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for, встрСчаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break, Ρ‚ΠΎ Π±Π»ΠΎΠΊ else пропускаСтся.

РСализация Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ†ΠΈΠΊΠ»Π° for с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° while

ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

my_list = ["You", "are", "awesome!"]
list_iter = iter(my_list)
while True:
  try:
    word = next(list_iter)
    print(word)
  except StopIteration:
    print("See you later!")
    break

Π¦ΠΈΠΊΠ» while Π²Π΅Π΄Π΅Ρ‚ сСбя Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ наш Ρ†ΠΈΠΊΠ» for, ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

You
are
awesome!
See you later!

Π Π°Π·Π±ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° for

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ†ΠΈΠΊΠ» for ΠΈ пройдСмся ΠΏΠΎ инструкциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ исполняСт ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° for. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ dis для Ρ€Π°Π·Π±ΠΎΡ€ΠΊΠΈ Ρ†ΠΈΠΊΠ»Π° for. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ dis.dis, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ прСдставлСниС дизассСмблированного Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ простой Ρ†ΠΈΠΊΠ» for, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ рассматривали Π΄ΠΎ сих ΠΏΠΎΡ€. Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» for Π² Ρ„Π°ΠΉΠ» for_loop.py.

for word in ["You", "are", "awesome!"]:
  print(word)
else:
  print("See you later!")

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, Π²Ρ‹Π·Π²Π°Π² dis.dismethod. Запустим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

$ python3 -m dis for_loop.py
  1           0 SETUP_LOOP              28 (to 30)
              2 LOAD_CONST               0 (('You', 'are', 'awesome!'))
              4 GET_ITER
        >>    6 FOR_ITER                12 (to 20)
              8 STORE_NAME               0 (word)

  2          10 LOAD_NAME                1 (print)
             12 LOAD_NAME                0 (word)
             14 CALL_FUNCTION            1
             16 POP_TOP
             18 JUMP_ABSOLUTE            6
        >>   20 POP_BLOCK

  4          22 LOAD_NAME                1 (print)
             24 LOAD_CONST               1 ('See you later!')
             26 CALL_FUNCTION            1
             28 POP_TOP
        >>   30 LOAD_CONST               2 (None)
             32 RETURN_VALUE

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· столбцов Π² Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ прСдставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. Колонка 1: Π½ΠΎΠΌΠ΅Ρ€ строки ΠΊΠΎΠ΄Π°.
  2. Колонка 2: Π·Π½Π°ΠΊ Β«>>Β», Ссли инструкция являСтся Ρ†Π΅Π»ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°.
  3. Колонка 3: смСщСниС Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄Π° Π² Π±Π°ΠΉΡ‚Π°Ρ….
  4. Колонка 4: инструкция Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°.
  5. Колонка 5: Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ инструкции. Π’ скобках отобраТаСтся Π±ΠΎΠ»Π΅Π΅ понятный для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° имя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ шаг Π·Π° шагом пройдСмся ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π½ΠΎΠΌΡƒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρƒ ΠΈ попытаСмся ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ происходит.
Π’ этом описаниС Ρ‚Π΅Ρ€ΠΌΠΈΠ½ TOS ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Π° стСка (top of the stack)

  1. строка 1, β€œfor word in [β€œYou”, β€œare”, β€œawesome!”]:” пСрСводится ΠΊΠ°ΠΊ:
    • 0 SETUP_LOOP 28 (to 30)
      • Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π±Π»ΠΎΠΊ для Ρ†ΠΈΠΊΠ»Π° for Π² стСк. Π‘Π»ΠΎΠΊ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚ этой инструкции Π΄ΠΎ 28 Π±Π°ΠΉΡ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄ΠΎ Β«30Β»
      • Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π² Ρ†ΠΈΠΊΠ»Π΅ for Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСмСстится Π½Π° Β«30Β» Π±Π°ΠΉΡ‚. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π±Π»ΠΎΠΊ else, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ Ссли встрСтится ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break.
    • 2 LOAD_CONST 0 ((β€˜You’, β€˜are’, β€˜awesome!’))
      • Π—Π°Ρ‚Π΅ΠΌ список помСщаСтся Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ стСка (TOS).
    • 4 GET_ITER
      • Π­Ρ‚Π° инструкция выполняСт Β«TOS = iter (TOS)Β». Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ получаСтся ΠΈΠ· списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ являСтся TOS, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСносится Π² TOS.
    • 6 FOR_ITER 12 (to 20)
      • Π­Ρ‚Π° инструкция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ TOS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ являСтся нашим ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ для Π½Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ next().
      • Если next() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ помСщаСтся Π² стСк, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ инструкция Β«8 STORE_NAMEΒ».
      • Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ функция next() ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ исчСрпан (Ρ‚. ΠΊ. сработал StopItered), TOS (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€) Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ ΠΈΠ· стСка, Π° счСтчик Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ Π½Π° 12. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ элСмСнт управлСния ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ ΠΊ инструкция Β«20 POP_BLOCKΒ».
    • 8 STORE_NAME 0 (word)
      • Π­Ρ‚Π° инструкция прСобразуСтся Π² word = TOS, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ next(), Π±ΡƒΠ΄Π΅Ρ‚ присвоСно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ word.
  2. строка 2, β€œprint(word)” пСрСводится ΠΊΠ°ΠΊ:
    • 10 LOAD_NAME 1 (print)
      • Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ print Π² стСк.
    • 12 LOAD_NAME 0 (word)
      • Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ print, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ word Π² стСк.
    • 14 CALL_FUNCTION 1
      • Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.
      • АргумСнты, связанныС с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² TOS, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ инструкции. ВсС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ print.
      • Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΠ½ вызываСтся ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅ΠΌΡƒ всСх Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².
      • Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·ΠΎΠ² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, Π΅Π³ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π² TOS. Π’ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это Π±ΡƒΠ΄Π΅Ρ‚ None.
    • 16 POP_TOP
      • TOS, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ удаляСтся (выталкиваСтся) ΠΈΠ· стСка.
    • 18 JUMP_ABSOLUTE 6
      • Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ установлСн Π½Π° Β«6Β». Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ выполняСмая инструкция Π±ΡƒΠ΄Π΅Ρ‚ Β«6 FOR_ITERΒ». Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ элСмСнтам ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
      • ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ инструкция Β«6 FOR_ITERΒ» заставит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· этого Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Β«20 POP_BLOCKΒ», ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС элСмСнты ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π±ΡƒΠ΄ΡƒΡ‚ исчСрпаны.
    • 20 POP_BLOCK
      • POP_BLOCK ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ Π±Π»ΠΎΠΊΠ°, установлСнного Π² Β«0 SETUP_LOOPΒ», ΠΈΠ· стСка Π±Π»ΠΎΠΊΠΎΠ².
  3. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½ΠΎΠΌΠ΅Ρ€ строки 3, Ρ‚.Π΅., else, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… инструкций, связанных с этим. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции, которая Π² основном состоит ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², связанных с else.
  4. строка 4, β€œprint(β€œSee you later!”)” пСрСводится ΠΊΠ°ΠΊ:
    • 22 LOAD_NAME 1 (print)
      • Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, связанный с print, помСщаСтся Π² стСк.
    • 24 LOAD_CONST 1 (β€˜See you later!’)
      • АргумСнты для Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² стСк.
    • 26 CALL_FUNCTION 1
      • АргумСнты для print ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° print ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· стСка. Π—Π°Ρ‚Π΅ΠΌ выполняСтся вызываСмая функция, ΠΈ Π΅Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСдаСтся Π² TOS.
    • 28 POP_TOP
      • TOS, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС None) удаляСтся ΠΈΠ· стСка.
  5. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ инструкции Π² основном Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нашСго скрипта (None) Π² стСк ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π΅Π³ΠΎ.
    • 30 LOAD_CONST 2 (None)
    • 32 RETURN_VALUE

Π’ΡƒΠ²! Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ с Ρ€Π°Π·Π±ΠΎΡ€ΠΊΠΎΠΉ инструкций для Ρ†ΠΈΠΊΠ»Π° for. Π― надСюсь, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†ΠΈΠΊΠ»Π° for.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом постС ΠΌΡ‹ рассмотрСли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for Π² Python?
  2. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ else, связанноС с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for?
  3. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹?
  4. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°?
  5. Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?
  6. Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» for?
  7. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ» while ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for?
  8. Как Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля dis ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ понятныС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ инструкции, выполняСмыС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Python? Как Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ инструкции?

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Shyama Sankar Understanding for-loops in Python

Π‘Ρ‹Π»Π° Π»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Π° эта ΡΡ‚Π°Ρ‚ΡŒΡ?


Π¦ΠΈΠΊΠ» for Π² Python – ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, синтаксис, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ

Π¦ΠΈΠΊΠ»Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΎΡ‰Π½Π΅ΠΉΡˆΠΈΠΌ инструмСнтом, прСдоставляСмым высокоуровнСвыми языками программирования. Π­Ρ‚ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструкций. Π¦ΠΈΠΊΠ»Ρ‹ Π² языкС Python прСдставлСны двумя основными конструкциями: while ΠΈ for. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ†ΠΈΠΊΠ»Π°Ρ… while Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠ²

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Ρ†ΠΈΠΊΠ»ΠΎΠ² – это Π½Π΅ просто очСрСдная абстрактная Π²Ρ‹Π΄ΡƒΠΌΠΊΠ° программистов. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ Ρ€Π°Π· Π·Π° Ρ€Π°Π·ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‚ нас ΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ:

πŸ₯£ Π΄ΠΎΠ±Π»Π΅Π½ΠΈΠ΅ Ρ‰Π΅ΠΏΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠΏΡ€Π°Π² Π² варящийся Π±ΡƒΠ»ΡŒΠΎΠ½ ΠΈ помСшиваниС Π΅Π³ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΠΊ спСций Π½Π΅ закончится,
πŸ•™ слСдованиС строгому Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΡƒΠ΄Π½ΠΈΠΉ дСнь, ΠΏΠΎΠΊΠ° Π½Π΅ наступят Π΄ΠΎΠ»Π³ΠΎΠΆΠ΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅,
πŸŒ„ Π΄Π°ΠΆΠ΅ банальная смСна Π²Ρ€Π΅ΠΌΡ‘Π½ Π³ΠΎΠ΄,

– всё это Ρ†ΠΈΠΊΠ»Ρ‹, ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Тизнь Π±Π΅Π· Π½ΠΈΡ… попросту Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Ρ‚ΠΎ ΠΆΠ΅ касаСтся ΠΈ программирования. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ числа ΠΎΡ‚ 1 Π΄ΠΎ 9999999999. Π’ отсутствии Ρ†ΠΈΠΊΠ»ΠΎΠ², эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΡƒΡ‡ΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π±Ρ‹ колоссального количСства ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚:

print(1) print(2) print(3) # ... # 9999999995 строк # ... print(9999999998) print(9999999999)

Π¦ΠΈΠΊΠ»Ρ‹ ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ²ΡƒΡŽ запись Π² ΠΈΠ·ΡΡ‰Π½ΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ для понимания ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ всСго ΠΈΠ· Π΄Π²ΡƒΡ… строчСк:

for i in range(1, 10000000000): print(i)

Бмысл Π΅Ρ‘ ΠΊΡ€Π°ΠΉΠ½Π΅ прост. Π’ основС Ρ†ΠΈΠΊΠ»Π° for Π»Π΅ΠΆΠ°Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл ΠΎΡ‚ 1 Π΄ΠΎ 9999999999. for поэлСмСнтно Π΅Ρ‘ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈ выполняСт ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записан Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. Π’ частности, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚ΡƒΠ΄Π° Π±Ρ‹Π»Π° ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° инструкция, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° экран.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ

  • Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ (Iteration) – это ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° (ΠΎΠ΄ΠΈΠ½ шаг ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ «Π²ΠΈΡ‚ΠΎΠΊ» цикличСского процСсса). К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Ρ†ΠΈΠΊΠ» ΠΈΠ· 3-Ρ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ 3 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.
  • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Iterable) – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ. ΠŸΡ€ΠΎΡ‰Π΅ говоря это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ Π·Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ.
  • Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ (iterator) – ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ __next__, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт.

πŸ‘‰ Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ, Python Π΄Π΅Π»Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρƒ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ iter(), Ρ‚Π΅ΠΌ самым получая ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€.
  • Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ next(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΎΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
  • Когда ΠΌΠ΅Ρ‚ΠΎΠ΄ next Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ StopIteration, Ρ†ΠΈΠΊΠ» останавливаСтся.
Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»Π° «for» Π² Python

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный класс ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΡƒΠΆΠ½ΠΎ всСго лишь Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: __iter__() ΠΈ __next__():

  • Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° __next__ () описываСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ доступного элСмСнта;
  • ΠΌΠ΅Ρ‚ΠΎΠ΄ __iter__() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ†ΠΈΠΊΠ»Π°Ρ… с поэлСмСнтным ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ простой строковый ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта (Ρ‚.Π΅. символа), ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру:

class ToUpperCase: def __init__(self, string_obj, position=0): """сохраняСм строку, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠ· конструктора, Π² ΠΏΠΎΠ»Π΅ string_obj ΠΈ Π·Π°Π΄Π°Ρ‘ΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс""" self.string_obj = string_obj self.position = position def __iter__(self): """ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ """ return self def __next__(self): """ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт, Π½ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру """ if self.position >= len(self.string_obj): # ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ StopIteration() сообщаСт Ρ†ΠΈΠΊΠ»Ρƒ for ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ raise StopIteration() position = self.position # ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ индСкс self.position += 1 # Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ символ Π² uppercase-e return self.string_obj[position].upper() low_python = "python" high_python = ToUpperCase(low_python) for ch in high_python: print(ch, end="") > PYTHON

Бинтаксис for

Как Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ, Ρ†ΠΈΠΊΠ» for python – Π΅ΡΡ‚ΡŒ срСдство для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄ строк, списков, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈ описанных Π²Ρ‹ΡˆΠ΅ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС ΠΎΠ½ выглядит Ρ‚Π°ΠΊ:

for item in collection: # do something

Если ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ collection состоит, скаТСм, ΠΈΠ· 10 элСмСнтов, for Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ…, храня Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ item.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ for максимально схоТ с Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌ Ρƒ Ρ†ΠΈΠΊΠ»ΠΎΠ² foreach, примСняСмых Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… высокоуровнСвых языках.

aliceQuote = "The best way to explain it is to do it." # с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for посчитаСм количСство символов (с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ) Π² строкС # Π·Π°Π΄Π°Π΄ΠΈΠΌ счСтчик count = 0 # Π±ΡƒΠ΄Π΅ΠΌ посимвольно ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ вСсь тСкст for letter in aliceQuote: # Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ: # Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ letter Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ символ прСдлоТСния; # ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСтчик Π½Π° 1; count += 1 print(count) > 39

range() ΠΈ enumerate()

Π’Ρ‹ ΡƒΠΆΠ΅ навСрняка Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ for Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ часто приходится ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ фиксированноС количСство Ρ€Π°Π·. А Π³Π΄Π΅ упоминаСтся «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ», сущСствуСт ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, числовая.

πŸ‘‰ Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ число Ρ€Π°Π·, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ range():

# скаТСм ΠœΠΈΡ€Ρƒ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ Ρ†Π΅Π»Ρ‹Ρ… ΠΏΡΡ‚ΡŒ Ρ€Π°Π·! for i in range(5): print("Hello World!") > Hello World! Hello World! Hello World! Hello World! Hello World!

range() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл, Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ количСством ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½Π΅Ρ‘ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π˜Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 1, 2 ΠΈΠ»ΠΈ 3:

  • range(finish);
  • range(start, finish);
  • range(start, finish, step).

Π—Π΄Π΅ΡΡŒ start – это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ), finish – послСдний (Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ), Π° step – Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

# 0 - Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ for a in range(3): print(a) > 0 1 2 # Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° for b in range(7, 10): print(b) > 7 8 9 # Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° for c in range(0, 13, 3): print(c) > 0 3 6 9 12

πŸ‘‰ Π§Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ полСзная функция enumerate() ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π½Π° мноТСствС ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ слуТит для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π½Π° основании ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· элСмСнтов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ строятся ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ (индСкс элСмСнта, элСмСнт), Ρ‡Ρ‚ΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠΈΠΌΠΎ самих элСмСнтов трСбуСтся Π΅Ρ‰Ρ‘ ΠΈ ΠΈΡ… индСкс.

# Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ пятый символ прСдлоТСния, начиная с 0-Π³ΠΎ, Π½Π° * text = "Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Π΅ Π΄Ρ€ΠΎΠΈΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅" new_text = "" for char in enumerate(text): if char[0] % 5 == 0: new_text += '*' else: new_text += char[1] print(new_text) > *Ρ‚ΠΎ Π½* Ρ‚Π΅ *Ρ€ΠΎΠΈΠ΄*, ΠΊΠΎ*ΠΎΡ€Ρ‹Ρ…*Π²Ρ‹ ΠΈ*Π΅Ρ‚Π΅

break ΠΈ continue

Π”Π²Π° ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования.

  • break – ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· Π½Π΅Π³ΠΎ;
  • continue – ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ.
# break for num in range(40, 51): if num == 45: break print(num) > 40 41 42 43 44

Π—Π΄Π΅ΡΡŒ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ», дойдя Π΄ΠΎ числа 45 ΠΈ Π²Π΅Ρ€Π½ΡƒΠ² истину Π² условном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, прСрываСтся ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.

# continue for num in range(40, 51): if num == 45: continue print(num) > 40 41 42 43 44 46 47 48 49 50

Π’ случаС continue происходит похоТая ситуация, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прСрываСтся лишь ΠΎΠ΄Π½Π° итСрация, Π° сам ΠΆΠ΅ Ρ†ΠΈΠΊΠ» продолТаСтся.

else

Если Π΄Π²Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Python, Ρ‚ΠΎ else, ΠΊΠ°ΠΊ составная Ρ‡Π°ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π°, ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π΅Π΄ΠΊΠΈΠΉ Π·Π²Π΅Ρ€ΡŒ. Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ связана с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ break ΠΈ выполняСтся лишь Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π±Ρ‹Π» ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ НЕ Ρ‡Π΅Ρ€Π΅Π· break.

group_of_students = [21, 18, 19, 21, 18] for age in group_of_students: if age < 18: break else: print('Всё Π² порядкС, ΠΎΠ½ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ»Π΅Ρ‚Π½ΠΈΠ΅') > Всё Π² порядкС, ΠΎΠ½ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ»Π΅Ρ‚Π½ΠΈΠ΅

Best practice

Π¦ΠΈΠΊΠ» ΠΏΠΎ списку

ΠŸΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ list Π² Ρ†ΠΈΠΊΠ»Π΅ Π½Π΅ составляСт Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ список – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ:

# Π΅ΡΡ‚ΡŒ список entities_of_warp = ["Tzeench", "Slaanesh", "Khorne", "Nurgle"] # просто Π±Π΅Ρ€Ρ‘ΠΌ список, Β«Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΒ» Π΅Π³ΠΎ Π² Ρ†ΠΈΠΊΠ» ΠΈ Π±Π΅Π· всякой Π·Π°Π΄Π½Π΅ΠΉ мысли Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄ for entity in entities_of_warp: print(entity) > Tzeench Slaanesh Khorne Nurgle

Π’Π°ΠΊ ΠΊΠ°ΠΊ элСмСнтами списков ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΈ ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°Ρ…. Π¦ΠΈΠΊΠ» Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ±Ρ‹Π΄Π΅Π½Π½ΠΎΠ΅ явлСниС, ΠΈ Ρ…ΠΎΡ‚ΡŒ количСство ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠ², Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ этим Π½Π΅ слСдуСт. Π¦ΠΈΠΊΠ»Ρ‹ ΡΠ²Ρ‹ΡˆΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня влоТСнности ΠΊΡ€Π°ΠΉΠ½Π΅ тяТСло Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΈ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ.

strange_phonebook = [ ["Alex", "Andrew", "Aya", "Azazel"], ["Barry", "Bill", "Brave", "Byanka"], ["Casey", "Chad", "Claire", "Cuddy"], ["Dana", "Ditrich", "Dmitry", "Donovan"] ] # это список списков, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ подсписок состоит ΠΈΠ· строк # ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ (Π·Π°Ρ‡Π΅ΠΌ-Ρ‚ΠΎ) ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ for # для посимвольного чтСния всСх ΠΈΠΌΡ‘Π½ # ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ строку for letter in strange_phonebook: for name in letter: for character in name: print(character, end='') > A l e x A n d r e w A y a A z a z e l B a r ...

Π¦ΠΈΠΊΠ» ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ

Π§ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ связан с ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ словарСй. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ словаря, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Для этого сущСствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄ .items(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт прСдставлСниС Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ словарного элСмСнта.

Π¦ΠΈΠΊΠ», Π² Ρ‚Π°ΠΊΠΎΠΌ случаС, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

# создадим ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ top_10_largest_lakes = { "Caspian Sea": "Saline", "Superior": "Freshwater", "Victoria": "Freshwater", "Huron": "Freshwater", } # ΠΎΠ±ΠΎΠΉΠ΄Ρ‘ΠΌ Π΅Π³ΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ for ΠΈ посчитаСм количСство ΠΎΠ·Π΅Ρ€ с солёной Π²ΠΎΠ΄ΠΎΠΉ ΠΈ количСство ΠΎΠ·Ρ‘Ρ€ с прСсной salt = 0 fresh = 0 # ΠΏΠ°Ρ€Π° "lake, water", Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, Π΅ΡΡ‚ΡŒ распакованный ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π³Π΄Π΅ lake - ΠΊΠ»ΡŽΡ‡ словаря, Π° water - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. # Ρ†ΠΈΠΊΠ», соотвСтствСнно, ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ сам ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π° Π΅Π³ΠΎ прСдставлСниС Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ for lake, water in top_10_largest_lakes.items(): if water == 'Freshwater': fresh += 1 else: salt += 1 print("Amount of saline lakes in top10: ", salt) print("Amount of freshwater lakes in top10: ", fresh) > Amount of saline lakes in top10: 1 > Amount of freshwater lakes in top10: 3

Π¦ΠΈΠΊΠ» ΠΏΠΎ строкС

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, ΠΏΠΎ сути своСй – вСсьма простыС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, состоящиС ΠΈΠ· символов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π² Ρ†ΠΈΠΊΠ»Π΅ Ρ‚ΠΎΠΆΠ΅ совсСм нСслоТно.

word = 'Alabama' for w in word: print(w, end=" ") > A l a b a m a

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for с шагом

Π¦ΠΈΠΊΠ» for с шагом создаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΠΆΠ΅ извСстной Π½Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range, ΠΊΡƒΠ΄Π°, Π² качСствС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΠΎ счСту Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ шага:

# Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ числа ΠΎΡ‚ 100 Π΄ΠΎ 1000 с шагом 150 for nums in range(100, 1000, 150): print(nums) > 100 250 400 550 700 850

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» for

Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ range() ΠΏΠΎΠ»Π΅Π·Π½Π°, Ρ‚ΠΎ Π²ΠΎΡ‚ Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: благодаря этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.

# Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ числа ΠΎΡ‚ 40 Π΄ΠΎ 50 ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ # для этого установим step -1 for nums in range(50, 39, -1): print(nums) > 50 49 48 47 46 45 44 43 42 41 40

for Π² ΠΎΠ΄Π½Ρƒ строку

ΠšΡ€ΡƒΡ‚Π°Ρ питоновская Ρ„ΠΈΡˆΠΊΠ°, основанная Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… list comprehensions ΠΈΠ»ΠΈ, ΠΏΠΎ-русски, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π˜Ρ… запись, Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚, нСсколько слоТнСС для понимания, Π·Π°Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ, ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ быстрСС Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивах Π΄Π°Π½Π½Ρ‹Ρ….

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ выглядит Ρ‚Π°ΠΊ:

[Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ | Ρ†ΠΈΠΊΠ» | ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ условиС]

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ строки inputString:

# здСсь letter * 2 β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅; for letter in inputString β€” Ρ†ΠΈΠΊΠ», Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ условиС ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ double_letter = [letter * 2 for letter in "Banana"] print(double_letter) > ['BB', 'aa', 'nn', 'aa', 'nn', 'aa']

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΆΠ΅ с условиСм:

# создадим список, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл ΠΎΡ‚ нуля Π΄ΠΎ Ρ‚Ρ€ΠΈΠ΄Ρ†Π°Ρ‚ΠΈ # здСсь if x % 2 == 0 β€” Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ условиС even_nums = [x for x in range(30) if x % 2 == 0] print(even_nums) [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28]

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «in» ΠΈ «not in» Π² python



Π― учился прСимущСствСнно Π² C Π³ΠΎΠ΄Ρƒ ΠΈ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ. Но я Π½Π΅Π΄Π°Π²Π½ΠΎ Π½Π°Ρ‡Π°Π» ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ python. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ здСсь Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΡƒΠ΄, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ C.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ‘in’ Π² python?

if x in array:
   #the usage of an in statement produces a boolean
for x in array:
   #the usage of an in statement produces an iterable

Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ вопрос. ‘Not’ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ логичСским Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ‘!’ Π² C, ΠΈΠ»ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ‘in’ Π² python. Как это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ?

if not x == 5:
   #makes sense because 'x == 5' evaluates to a boolean
if x not in array:
   #the statement 'in array' is not a boolean
   #shouldn't it be 'if not x in array'

Как Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅? Π Π°Π·Π²Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ? ΠŸΡ€ΡΠΌΠΎ сСйчас я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Python-это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ просто Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, основанныС Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΌ синтаксисС.

ОбъяснСниС ΠΈΠ»ΠΈ ссылка Π½Π° объяснСниС Π±Ρ‹Π»ΠΈ Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹,я Π½Π΅ смог Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ касалось Π±Ρ‹ этого.

python
ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ John Doe Β  Β  16 августа 2017 Π² 07:38

2 ΠΎΡ‚Π²Π΅Ρ‚Π°




15

Π’Ρ‹ ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅ Π΄Π²Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ связанныС части синтаксиса.

Один ΠΈΠ· Π½ΠΈΡ…-это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ , см. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ for . in являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ фиксированного grammar:

for_stmt ::=  β€œfor” target_list β€œin” expression_list β€œ:” suite
              [β€œelse” β€œ:” suite]

Π’ Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ for для Π½Π°Ρ‡Π°Π»Π° строки, трСбуСтся Ρ‡Π°ΡΡ‚ΡŒ in , Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ : . И Π½Π΅ ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ Python for с Ρ†ΠΈΠΊΠ»ΠΎΠΌ C for ; Python — это a Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ конструкции . Как Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ, ΠΎΠ½ Π½Π΅ ‘produce’ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π”Ρ€ΡƒΠ³ΠΎΠΉ — это тСстовая опСрация члСнства , Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹-это Ρ‚ΠΈΠΏ выраТСния :

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ in ΠΈ not in ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ члСнство.

Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для примСнСния ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ (Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ итСрациям).

Оба сильно ΠΎΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ Python OO, Ρ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ C. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ эквивалСнты Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, посмотритС Π½Π° понятия Π² C++, Java ΠΈΠ»ΠΈ C#,, Π° Π½Π΅ Π² C.

for <expr> in <iterable> ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ , Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ элСмСнты ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. C++ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ , Π² Java Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈ Π² ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… .

<expr> [not] in <expr> Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выраТСния ΠΏΡ€Π°Π²ΠΎΠΉ Ρ€ΡƒΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» тСстированиС члСнства, Π½ΠΎ Python вСрнСтся ΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Ссли для тСста члСнства Π½Π΅ доступны явныС ΠΊΡ€ΡŽΡ‡ΠΊΠΈ. not Π² not in просто ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ in .

C++ ΠΈ Java Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ стандартной абстракции для этого, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ своС собствСнноС написаниС (Π² C++ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π΅Π³ΠΎ find , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ set::find ΠΈΠ»ΠΈ map::find , Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Java ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ contains , давая Π²Π°ΠΌ Set.contains() ΠΈ Map.containsKey() ).

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Martijn Pieters Β  Β  16 августа 2017 Π² 07:43


  • Python ‘not in’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

    def step(g, m, n): notstorage=[] actualvalues =[] for i in range(m, (n+1)): for primechecker in range(2,i): if i % primechecker == 0: notstorage.append(i) for value in range(m, (n+1)): if (value) and (value+g) not in set(notstorage): actualvalues.append(value) actualvalues.append(value+g) break…

  • IN, NOT IN for null value in oracle

    Π’ oracle ΠΏΠΎΡ‡Π΅ΠΌΡƒ Not in Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° значСниях null, Π½ΠΎ IN Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ НапримСр with temp(n,p) as ( select 1,2 from dual union all select 3,2 from dual union all select 4,6 from dual union all select 5,6 from dual union all select 2,8 from dual union all select 6,8 from dual union all select 8,null…



3

for x in array: Π½Π΅ сильно отличаСтся ΠΎΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π½Π° основС for loop, прСдставлСнного Π² c++11. Бинтаксис Π² c++ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ:

int a[] = {0, 1, 2, 3, 4, 5};
for (int n : a) // the initializer may be an array
    std::cout << n << ' ';

УтвСрТдСния if x in a: ΠΈ for x in a: Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ большого ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ, ΠΎΠ½ΠΈ просто содСрТат ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ слово in , Π½ΠΎ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ if x in a: Π² c++, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ std::find . ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ являСтся ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ сравнСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта с x . ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π±ΠΎΠ»Π΅Π΅ эффСктивным, Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ivaylo Strandjev Β  Β  16 августа 2017 Π² 07:44


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:


Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ NOT IN для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ этого Π²Ρ‹Π²ΠΎΠ΄Π°?

Π£ мСня Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅: ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… здСсь course: course# ctitle units ——— ——————- —— ACCT 201 Financial Account 3 CHEM 356 Organic Chemistry 4 HIST 101 US…


ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ‘ in ‘ с boost::python

Π£ мСня Π΅ΡΡ‚ΡŒ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ .def ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ __getitem__ , __setitem__ (Π° Ρ‚Π°ΠΊΠΆΠ΅ keys ΠΈ items ) ΠΈ Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ-это строки. Однако ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in Π²Π΅Π΄Π΅Ρ‚ сСбя Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ…


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π°Π±ΠΎΡ€Π° Python «in»

МСня Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ смущаСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ python in для мноТСств. Если Ρƒ мСня Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ s ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ экзСмпляр b , Π²Π΅Ρ€Π½ΠΎ Π»ΠΈ, Ρ‡Ρ‚ΠΎ b in s ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ элСмСнт x Π² s Ρ‚Π°ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ b == x Π΅ΡΡ‚ΡŒ true ?


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Python ‘in’ эквивалСнтСн C#

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ‘in’ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ : x = [‘a’,’b’,’c’] if ‘a’ in x: do something Какой эквивалСнт Π² C#?


Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ Java ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «in» ΠΈΠ»ΠΈ «not in», ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Python?

Π― Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² Java, ΠΈ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ Java ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in/Π½Π΅ Π² Π² Python, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. >>>jim in jimbo >>>True


Python ‘not in’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

def step(g, m, n): notstorage=[] actualvalues =[] for i in range(m, (n+1)): for primechecker in range(2,i): if i % primechecker == 0: notstorage.append(i) for value in range(m, (n+1)): if (value)…


IN, NOT IN for null value in oracle

Π’ oracle ΠΏΠΎΡ‡Π΅ΠΌΡƒ Not in Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° значСниях null, Π½ΠΎ IN Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ НапримСр with temp(n,p) as ( select 1,2 from dual union all select 3,2 from dual union all select 4,6 from dual union all select…


Как ΠΌΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ python «not in»

Π― понимаю, Ρ‡Ρ‚ΠΎ __contains__ -это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in. Π― Ρ‚Π°ΠΊΠΆΠ΅ понимаю, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ not in-это ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ __contains__ . Однако ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ python ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ not in Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π»…


ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Z3 ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ python ‘in’

МнС Π±Ρ‹Π»ΠΎ интСрСсно, бСзопасно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСстированиС члСнства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнного Ρ‚ΠΈΠΏΠ° Π½Π°Π±ΠΎΡ€Π° python ΠΈ констант z3. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: a = Int(‘a’) a2 = Int(‘a’) s…


ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «in» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидалось?(python)

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² python, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π― застрял. ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ?? ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true?? list1 = [1,2,3] list2 = [1,2,3,4,5] print(list1 in…

Для Ρ†ΠΈΠΊΠ»Π° Π² Python | Π‘Π»ΠΎΠΊ-схСма Python с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ» For Π² Python

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ For Loop Π² Python любой язык программирования начинаСтся с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ». Бинтаксис ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌ. Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹. БСгодня ΠΌΡ‹ собираСмся ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ†ΠΈΠΊΠ»Π°Ρ… Π² Python. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π² любом языкС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ с основных понятий. Для Ρ†ΠΈΠΊΠ»Π° являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ…. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ для программистов. Π‘ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΡ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ эти малСнькиС ΠΈ малСнькиС Π²Π°ΠΆΠ½Ρ‹Π΅ части языка. Π˜Π·ΡƒΡ‡Π°Ρ любой язык программирования, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ. Π“Π»Π°Π²Π½ΠΎΠ΅ относится ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΊ Ρ†ΠΈΠΊΠ»Ρƒ. Π¦ΠΈΠΊΠ» for сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… программистов. Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Π²ΠΎ врСмя Π΅Π³ΠΎ изучСния. Π—Π°ΠΏΠ°Ρ‡ΠΊΠ°ΠΉΡ‚Π΅ Ρ€ΡƒΠΊΠΈ ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ понимания ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π±Ρ‹Π»Π° Π²Ρ‹ΡˆΠ΅. Π˜Ρ‚Π°ΠΊ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π°ΡˆΡƒ Python IDE (интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ это. Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с основами Python-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚. Π”., Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ эти Ρ†ΠΈΠΊΠ»Ρ‹ Π²Π°ΠΆΠ½Ρ‹ Π² любом языкС программирования.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΈ для этого, поТалуйста, посмотритС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½ΠΈΠΆΠ΅.

Код

#! /usr/bin/python
greeting = 'Hello Python'
#if I wanted to print each letter in greeting sentence without using for loop then we may be #doing something below code
print(greeting(o))
print(greeting(1))
print(greeting(2))
print(greeting(3))
print(greeting(4))
print(greeting(5))
print(greeting(6))
print(greeting(7))
print(greeting(8))
print(greeting(9))
print(greeting(10))
print(greeting(11))

Π’Ρ‹Ρ…ΠΎΠ΄:

Если Π²Ρ‹ посмотритС Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΠ½Π° каТСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉΡΡ. Π­Ρ‚ΠΎ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ. Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρƒ нас всСго 11 пСрсонаТСй. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ для всСго Π°Π±Π·Π°Ρ†Π° ΠΈΠ»ΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ тысячи слов. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ заявлСниС для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Как Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ занятиС.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ Π΅Π³ΠΎ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ сосрСдоточимся Π½Π° сокращСнии ΠΊΠΎΠ΄Π° с Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ наш ΠΊΠΎΠ΄. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅ для Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ написали для привСтствия.

#! /usr/bin/python
greeting = 'Hello Python'
# here we are taking for loop
for letter in greeting:
print(letter)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ. Π¦ΠΈΠΊΠ» for ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ простым способом с мСньшим количСством ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ количСство строк ΠΊΠΎΠ΄Π°, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ†ΠΈΠΊΠ» for Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для кодирования ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π°ΡˆΡƒ Π³ΠΎΠ»ΠΎΠ²Π½ΡƒΡŽ боль, Ссли Π½Π°ΠΌ приходится ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° синтаксис Ρ†ΠΈΠΊΠ»Π° for Π² Python.

Бинтаксис

Если Π²Ρ‹ ΡƒΠΆΠ΅ наблюдали, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» for Π² Java ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ синтаксис, Ρ‡Π΅ΠΌ написанный Π²Ρ‹ΡˆΠ΅. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅, ΠΈ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° пСрСмСнная привСтствия ΠΈ эта пСрСмСнная ΠΌΡ‹ сохранили Π² строкС Β«Hello PythonΒ». это ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ПослС написания для нас Π΅ΡΡ‚ΡŒ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹. Π‘ΡƒΠΊΠ²Π° Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ€Π°Π½Π΅Π΅ Π½ΠΈΠ³Π΄Π΅ здСсь. Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Greeting ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ. И Ρ…Ρ€Π°Π½ΠΈΡ‚ это Π² письмС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ письма Π² привСтствии

Π‘Π»ΠΎΠΊ-схСма For Loop Π² Python

Π‘Π»ΠΎΠΊ-схСма Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, работая с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for Π² Python. Π‘Π»ΠΎΠΊ-схСма ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. РСкомСндуСтся ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ-схСму, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Как Ρ†ΠΈΠΊΠ» For Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Python?

Π¦ΠΈΠΊΠ»Ρ‹ for Π² python ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для зацикливания любой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ список, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π½Π°Π±ΠΎΡ€ ΠΈ строка. ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» Π² Python.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ настало врСмя Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° break.

color = ("green", "pink", "red") for c in color:
print(c)
if c == "pink":
break

Π’Ρ‹Ρ…ΠΎΠ΄:

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΡ‹ Π·Π°Π΄Π°Π»ΠΈ условиС Π² Ρ†ΠΈΠΊΠ»Π΅, Ссли ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ pink, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ сцСнариСв, Π³Π΄Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π»ΠΎΠ³ΠΈΠΊΡƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ (ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 1

#! /usr/bin/python
for letter in 'Hello John':
print ('current letter :', letter)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 2

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² Python. Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Python ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for. Π­Ρ‚Π° функция ΠΈΠΌΠ΅Π΅Ρ‚ синтаксис

range(starting value, ending value, increment by)
#! /usr/bin/python
for r in range(1, 5, 1):
print(r)

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 3

#! /usr/bin/python
cars =('toyota', 'tata', 'honda') for car in range(len(cars)):
print ("current car:", cars (car))

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 4

Π’Π»ΠΎΠΆΠ΅Π½ΠΎ для ΠΏΠ΅Ρ‚Π»ΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‚Π»ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ Π΄Π²Π° массива здСсь.

#! /usr/bin/python
no = (1, 2) color = ("red", "blue") for x in no:
for y in color:
print(x, y)

Π’Ρ‹Ρ…ΠΎΠ΄:

Π’Ρ‹Π²ΠΎΠ΄

Python для Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ. Π—Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π° python Π²ΠΎ врСмя ΠΈΠ³Ρ€Ρ‹ с тСкстом Π² наши Π΄Π½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Ρ‚. Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большим количСством Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ прилоТСниями ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. ΠžΡ‚Π΄Ρ‹Ρ…Π°ΠΉΡ‚Π΅, Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, это основа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ программирования Π½Π° Python.

РСкомСндуСмая ΡΡ‚Π°Ρ‚ΡŒΡ

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ руководство для For Loop Π² Python. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ обсуТдаСм Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ» For Loop Π² Python ΠΈ Π±Π»ΠΎΠΊ-схСму вмСстС с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ наши Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС —

  1. Python Frameworks
  2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Python
  3. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Python
  4. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π² Python
  5. ΠžΠ±Π·ΠΎΡ€ For Loop Π² Java
  6. Для Ρ†ΠΈΠΊΠ»Π° Π² PHP

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «while» ΠΈΠ»ΠΈ «for» Π² Python



Π― Π½Π°Ρ…ΠΎΠΆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» while ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ» for Π² Python. ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ люди ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for (мСньшС строк ΠΊΠΎΠ΄Π°?). Π•ΡΡ‚ΡŒ Π»ΠΈ какая-Ρ‚ΠΎ конкрСтная ситуация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅? Π­Ρ‚ΠΎ вопрос Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ? ΠšΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Ρ‡ΠΈΡ‚Π°Π» Π΄ΠΎ сих ΠΏΠΎΡ€, заставили мСня Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅ΡΡ‚ΡŒ большиС различия.

python loops
ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Fabio Β  Β  28 мая 2009 Π² 12:44

8 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²


  • Python: ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for-loop ΠΈΠ»ΠΈ while-loop для Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠ³ΠΎ располоТСния списка Π² Ρ„Π°ΠΉΠ»Π΅

    Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ python. МнС Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ список Π² Ρ„Π°ΠΉΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while-loop ΠΈΠ»ΠΈ for-loop для Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ этого списка, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ список Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Π°ΠΉΠ». Π€Π°ΠΉΠ» Π½Π΅ сортируСтся ΠΈ Π½Π΅ записываСтся Π² Ρ„Π°ΠΉΠ». Π›ΡŽΠ±ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ конструктивная ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ°…

  • While loop ΠΈΠ»ΠΈ for loop? (python)

    Π― ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ с python. Π― нашСл нСсколько ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΈ застрял Π½Π° Ρ†ΠΈΠΊΠ»Π°Ρ… while ΠΈ for. Π― Ρ…ΠΎΡ‡Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая просит поТСртвования ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΠ± этом ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½Π°…



76

Π”Π°, сущСствуСт огромная Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ «ΠΏΠΎΠΊΠ°» ΠΈ «Π΄Π»Ρ».

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while просто зацикливаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° условиС Π½Π΅ станСт Π»ΠΎΠΆΠ½Ρ‹ΠΌ.

Π­Ρ‚ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ ваши структуры Π΄Π°Π½Π½Ρ‹Ρ….

Часто ΠΌΡ‹ прСдставляСм значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ range (фактичСский список) ΠΈΠ»ΠΈ xrange (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ значСния). Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ структуру Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° for.

Однако, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρƒ нас Π΅ΡΡ‚ΡŒ готовая коллСкция: Π½Π°Π±ΠΎΡ€, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, список, ΠΊΠ°Ρ€Ρ‚Π° ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ строка ΡƒΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ, поэтому ΠΌΡ‹ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ for loop.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСкоторая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования, ΠΈ Π² этом случаС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ это ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted ΠΈ enumerate ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ соотвСтствуСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ for .

Если Ρƒ вас Π½Π΅Ρ‚ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ… для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρƒ вас Π½Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, которая управляСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while .

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ S.Lott Β  Β  28 мая 2009 Π² 12:55



22

while ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² сцСнариях, Π³Π΄Π΅ условиС Ρ€Π°Π·Ρ€Ρ‹Π²Π° логичСски Π½Π΅ зависит ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, рассмотрим нСпрСдсказуСмыС взаимодСйствия:

 while user_is_sleeping():
     wait()

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это дСйствиС ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ доступным Ρ‡Π΅Ρ€Π΅Π· for – Π½ΠΎ ΠΊΠ°ΠΊ это послуТит удобочитаСмости?1

Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ for (ΠΈΠ»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±ΠΎΠ»Π΅Π΅ высокого порядка, которая инкапсулируСт Ρ†ΠΈΠΊΠ»).

1 прСдполагая, Ρ‡Ρ‚ΠΎ функция user_is_sleeping Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ False ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ false, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пСрСписан ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» for :

for _ in iter(user_is_sleeping, False):
    wait()

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Konrad Rudolph Β  Β  28 мая 2009 Π² 12:55



14

for -это Π±ΠΎΠ»Π΅Π΅ питоничСский Π²Ρ‹Π±ΠΎΡ€ для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ списка, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Π»Π΅Π³Ρ‡Π΅ читаСтся.

НапримСр, это:

for i in range(11):
    print i

Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ Π»Π΅Π³Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ это:

i = 0
while i <= 10:
    print i
    i = i + 1

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Andrew Hare Β  Β  28 мая 2009 Π² 12:46



4

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ различия ΠΌΠ΅ΠΆΠ΄Ρƒ for loop Π² python ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² python ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для значСния Π² [4,3,2,7]), Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков (C/C++, Java, PHP ΠΈ Ρ‚. Π”.) Он дСйствуСт ΠΊΠ°ΠΊ while loop, Π½ΠΎ Π΅Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Π¦ΠΈΠΊΠ»Ρ‹ For ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° извСстно количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π»ΠΈΠ½Π° массива), Π° Ρ†ΠΈΠΊΠ»Ρ‹ while ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ это Π·Π°ΠΉΠΌΠ΅Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ² , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зацикливаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° значСния Π½Π΅ отсортированы)

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Adrian Mester Β  Β  28 мая 2009 Π² 13:32


  • Π’ Π»ΠΎΠ³ΠΈΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ For loop ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while loop

    Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² языкС программирования , я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ запутался Π² основах ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, поТалуйста, ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠ½Π΅ ясно, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ For loop ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while loop, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ‚Π½ΠΎ для мСня Π² ΠΌΠΎΠ΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π—Π°Ρ€Π°Π½Π΅Π΅ спасибо

  • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for ΠΈ while loop для сортировки Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python?

    Π― всС Π΅Ρ‰Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° python. Π― создал список Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ fruitList = [pear,apple,strawberry,banana,orange] Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΈΡ… Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ for loop ΠΈ while loop. fruitList.sort() ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ python ΠΈΠΌΠ΅Π΅Ρ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ sort(), Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ,…



4

для ΠΏΠ΅Ρ‚Π΅Π»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ опрСдСлСнная итСрация (количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ извСстно).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

  • ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Ρ†ΠΈΠΊΠ» с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ: for i in range(23): .
  • Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ коллСкциям (строка, список, Π½Π°Π±ΠΎΡ€, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ): for book in books: .

while loop-это нСопрСдСлСнная итСрация, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° нСизвСстноС количСство Ρ€Π°Π· ΠΈ заканчиваСтся, ΠΊΠΎΠ³Π΄Π° выполняСтся ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ условиС .

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² случаС while loop отступноС Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² тСстовом условии, ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ бСсконСчным Ρ†ΠΈΠΊΠ»ΠΎΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

  • Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π» ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄: while input == specified_input: .

  • Если Ρƒ вас Π΅ΡΡ‚ΡŒ условиС с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ сравнСния: while count < limit and stop != False: .

ΠŸΡ€Π΅Π»ΠΎΠΌΠ»Π΅Π½ΠΈΡ: Для ΠŸΠ΅Ρ‚Π΅Π»ΡŒ Vs. Π’ Π’ΠΎ ВрСмя Как ΠŸΠ΅Ρ‚Π»ΠΈ, ИдСально Науки БвСдСния , Python.org .

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ DINA TAKLIT Β  Β  16 октября 2019 Π² 09:42



3

РассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for :

for i in mylist:
   print i

Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° while :

it = mylist.__iter__()
while True:
   try:
      print it.next()
   except StopIteration:
      break

Оба этих Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π΄Π΅Π»Π°ΡŽΡ‚ Π² основном ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, Π² основном ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ способом. Но Ρ†ΠΈΠΊΠ» for скрываСт созданиС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ StopIteration , Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

ЕдинствСнный Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я ΠΌΠΎΠ³Ρƒ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ использовали Π±Ρ‹ Ρ†ΠΈΠΊΠ» while для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ, Π±Ρ‹Π» Π±Ρ‹, Ссли Π±Ρ‹ Π²Π°ΠΌ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ понадобился прямой доступ ΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ… Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ элСмСнты Π² спискС.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Robert Rossney Β  Β  28 мая 2009 Π² 19:56



2

Для Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ становится яснСС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ итСрация. Π’Ρ‹ Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ с while loop ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. НапримСр:

def path_to_root(node):
    while node is not None:
        yield node
        node = node.parent

for parent in path_to_root(node):
    ...

ВмСсто

parent = node
while parent is not None:
    ...
    parent = parent.parent

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ants Aasma Β  Β  28 мая 2009 Π² 13:17




-2

while loop Π»ΡƒΡ‡ΡˆΠ΅ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² for loop Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ while loop ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ списки, строки ΠΈ Ρ‚. Π΄.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Joao Paulo Β  Β  27 августа 2020 Π² 20:51


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:


Π¦ΠΈΠΊΠ»Ρ‹ For ΠΈ While Π² python

Π­Ρ‚ΠΎ ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ for ΠΈ while Π² python, ΠΈ я Π·Π°ΡΡ‚Ρ€Π΅Π²Π°ΡŽ Π²ΠΎΡ‚ ΠΌΠΎΠΉ ΠΊΠΎΠ΄… print(Hello and welcome to the programme) x = 0 y = 0 while (x < 100): print (‘The count…


ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while loop, Π° Π½Π΅ for loop

Π― ΠΈΠ·ΡƒΡ‡Π°ΡŽ java, Π° Ρ‚Π°ΠΊΠΆΠ΅ android. ΠŸΠΎΡ‡Ρ‚ΠΈ всС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² while loop, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² for loop. Π― нашСл простоС условиС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ использованиС while loop Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ for loop Ссли ΠΌΠ½Π΅…


Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for loop вмСсто while loop?

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for loop ΠΈ while loop для Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ†Π΅Π»ΠΈ. ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° наш ΠΊΠΎΠ΄, Ссли я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ for вмСсто while? Ρ‚ΠΎΡ‚ ΠΆΠ΅ вопрос Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ if-else ΠΈ switch-case? ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ,…


Python: ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for-loop ΠΈΠ»ΠΈ while-loop для Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠ³ΠΎ располоТСния списка Π² Ρ„Π°ΠΉΠ»Π΅

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ python. МнС Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ список Π² Ρ„Π°ΠΉΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while-loop ΠΈΠ»ΠΈ for-loop для Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ этого списка, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ список Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Π°ΠΉΠ»….


While loop ΠΈΠ»ΠΈ for loop? (python)

Π― ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ с python. Π― нашСл нСсколько ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΈ застрял Π½Π° Ρ†ΠΈΠΊΠ»Π°Ρ… while ΠΈ for. Π― Ρ…ΠΎΡ‡Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая…


Π’ Π»ΠΎΠ³ΠΈΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ For loop ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while loop

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² языкС программирования , я Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ запутался Π² основах ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, поТалуйста, ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠ½Π΅ ясно, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ For loop ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ…


Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for ΠΈ while loop для сортировки Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python?

Π― всС Π΅Ρ‰Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° python. Π― создал список Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ fruitList = [pear,apple,strawberry,banana,orange] Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΈΡ… Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ for loop ΠΈ…


ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ= ΠΈ > = Π² Ρ†ΠΈΠΊΠ»Π°Ρ… for ΠΈ while

Π― Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² python, ΠΈ я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Ρ‹ ΠΈ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π»ΡƒΡ‡ΡˆΠ΅: x = [5,5,5,5,6,7,87,8,9,10] for i in range(len(x)): while i == 5: print(‘5’) else: print(‘no’) -Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄…


Python: for-loop + break versus while + flag Performance

Наш ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ программирования Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» while вмСсто Ρ†ΠΈΠΊΠ»Π° for , Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ return Π² Ρ†ΠΈΠΊΠ»Π΅, исходя ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Python ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†ΠΈΠΊΠ» for ,…


Когда я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ for loop ΠΈΠ»ΠΈ while loop?

МСня смущаСт, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ while-loop ΠΈΠ»ΠΈ for-loop? Π― особСнно бСспокоюсь ΠΎ создании ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° вопросы кодирования. Π― ловлю сСбя Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°ΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для…

Π¦ΠΈΠΊΠ» for-in Python, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ пСрСмСнная

Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈ, Π½ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ просто синтаксичСский сахар для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ шаблона, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ Ρ‚Π°ΠΊ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ.

НачнСм с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ 10 чисСл, ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ подмноТСство Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ большС, скаТСм, 5.

  >>> числа = [12, 34, 1, 4, 4, 67, 37, 9, 0, 81]
  

Для Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ пСрСходят ΠΎΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌΡƒ, ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΌΡƒ ΠΈ питоничСскому :

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 1

  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = []
для индСкса Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (числа)):
    Ссли числа [индСкс]> 5:
        Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (числа [индСкс])
Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ #Prints [12, 34, 67, 37, 9, 81]
  

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 2 (Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡ΠΈΡ‰Π΅, Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ΅Ρ‚Π»ΠΈ)

  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = []
для числа Π² числах:
    Ссли число> 5:
        result.append (число)
Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ #Prints [12, 34, 67, 37, 9, 81]
  

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 3 (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списка)

  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = [число для числа Π² числах, Ссли число> 5]
  

ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ:

  [функция (число) для числа Π² числах, Ссли условиС (число)]
  

Π³Π΄Π΅:

  • функция (x) ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ x ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Π²ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, x * x )
  • , Ссли , условиС (x) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False-y (False, None, ΠΏΡƒΡΡ‚ΡƒΡŽ строку, пустой список ΠΈ Ρ‚. Π”..), Ρ‚ΠΎ тСкущая итСрация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, , ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ). Если функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ False-y, Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив (ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ этап прСобразования, описанный Π²Ρ‹ΡˆΠ΅).

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ синтаксис Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, просмотритС Ρ€Π°Π·Π΄Π΅Π» «Бонусы» Π½ΠΈΠΆΠ΅.

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ слСдуйтС руководству, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹: ПониманиС списка


Бонус

(НСмного Π½Π΅ питоничСский, Π½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ здСсь для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ:

  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ (лямбда x: x> 5, числа)
  

ΠžΠ±Ρ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ:

  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠΊΠ°Ρ€Ρ‚Π° (функция, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ (условиС, числа)) # Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ - это список Π² Py2
  

Π“Π»Π°Π²Π° 5 — Π¦ΠΈΠΊΠ»Ρ‹ — Python 101 1.0 докумСнтация

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π», ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π°. Π£ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΈΡ… большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π’ ΠΌΠΈΡ€Π΅ Python Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Ρ†ΠΈΠΊΠ»ΠΎΠ²:

  • для ΠΏΠ΅Ρ‚Π»ΠΈ ΠΈ
  • Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ пСтля

Π’Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ пСтля для Π½Π° сСгодняшний дСнь являСтся самой популярной ΠΈΠ· Π½ΠΈΡ…. Π¦ΠΈΠΊΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ снова ΠΈ снова Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят Ρ†ΠΈΠΊΠ»Ρ‹. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ​​логику ΠΊ вашим Π΄Π°Π½Π½Ρ‹ΠΌ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эти Π·Π°Π±Π°Π²Π½Ρ‹Π΅ конструкции!

ΠŸΠ΅Ρ‚Π»Ρ для

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ», ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ n Ρ€Π°Π·. Π‘ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ссли ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Python range . Ѐункция Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° создаст список Π΄Π»ΠΈΠ½ΠΎΠΉ n. Π’ Python 2.x Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° функция ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ xrange , которая являСтся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ чисСл ΠΈ Π½Π΅ Ρ‚Π°ΠΊ рСсурсоСмка, ΠΊΠ°ΠΊ range.Они Π² основном ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ xrange Π½Π° range Π² Python 3. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, функция Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²Ρ‹ΡˆΠ΅ приняла Ρ†Π΅Π»ΠΎΠ΅ число ΠΈ Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ range . Ѐункция Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ шага. Π’ΠΎΡ‚ Π΅Ρ‰Π΅ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

 >>> Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (5,10)
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (5, 10)
>>> список (диапазон (1, 10, 2))
[1, 3, 5, 7, 9]
 

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° функция Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²Π΅Ρ€Π½Π΅Ρ‚ числа ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния, Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² случаС 5-10 ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 5-9. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ list , Ρ‡Ρ‚ΠΎΠ±Ρ‹ функция Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт ΠΎΡ‚ 1 Π΄ΠΎ 10. Π˜Ρ‚Π°ΠΊ, ΠΎΠ½Π° начинаСтся с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, пропускаСт Π΄Π²Π° ΠΈ Ρ‚. Π”. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹, вСроятно, Π·Π°Π΄Π°Π΅Ρ‚Π΅ΡΡŒ вопросом, ΠΊΠ°ΠΊΠΎΠ΅ это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ‚Π»ΠΈ. Один простой способ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ», — это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°! ВзглянитС:

 >>> для числа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (5):
       ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (число)

0
1
2
3
4
 

Π§Ρ‚ΠΎ здСсь ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎ всСм Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ.Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ числа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 5 Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ число. ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ range со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 5, ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ список ΠΈΠ· 5 элСмСнтов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ½ распСчатываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· элСмСнтов. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Ρ†ΠΈΠΊΠ» for Π±ΡƒΠ΄Π΅Ρ‚ эквивалСнтСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ:

 >>> для числа Π² [0, 1, 2, 3, 4]:
       ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (число)
 

Ѐункция Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ. Π¦ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ любой ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Python. ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ список.ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.

 >>> a_dict = {"ΠΎΠ΄ΠΈΠ½": 1, "Π΄Π²Π°": 2, "Ρ‚Ρ€ΠΈ": 3}
>>> для ΠΊΠ»ΡŽΡ‡Π° Π² a_dict:
       ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠ»ΡŽΡ‡)

Ρ‚Ρ€ΠΈ
Π΄Π²Π°
ΠΎΠ΄ΠΈΠ½
 

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ» для со словарСм, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ автоматичСски ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ клавишам. Нам Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ для ΠΊΠ»ΡŽΡ‡Π° Π² a_dict.keys () (хотя это Ρ‚ΠΎΠΆΠ΅ сработало Π±Ρ‹). Python сдСлал для нас ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€. Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ порядкС, Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² словарС.Как Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΈΠ· Π³Π»Π°Π²Ρ‹ 3, словари нСупорядочСны, поэтому ΠΏΡ€ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π½ΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² любом порядкС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ…. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

 >>> a_dict = {1: "ΠΎΠ΄ΠΈΠ½", 2: "Π΄Π²Π°", 3: "Ρ‚Ρ€ΠΈ"}
>>> keys = a_dict.keys ()
>>> keys = sorted (ΠΊΠ»ΡŽΡ‡ΠΈ)
>>> для Π²Π²ΠΎΠ΄Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ:
       ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠ»ΡŽΡ‡)

1
2
3
 

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ этот ΠΊΠΎΠ΄.Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ создаСм ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вмСсто строк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ числа. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· словаря. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ keys (), ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ нСупорядочСнный список ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Если Π²Ρ‹ распСчатаСтС ΠΈΡ… ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ располоТСны Π² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ порядкС, Ρ‚ΠΎ это просто ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ прСдставлСниС ΠΎ ΠΊΠ»ΡŽΡ‡Π°Ρ… словаря, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранятся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ keys . ΠœΡ‹ сортируСм Π΅Π³ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» для , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ интСрСснСС.ΠœΡ‹ собираСмся ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π½ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа. Для этого ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ вмСсто ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° шага Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Π’ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это:

 >>> для числа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (10):
        Ссли число% 2 == 0:
            ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (число)

0
2
4
6
8
 

Π’Π°ΠΌ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, интСрСсно, Ρ‡Ρ‚ΠΎ здСсь происходит. Π§Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ со Π·Π½Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°? Π’ Python% называСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ модуля. Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ модуля, ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ остаток.Когда Π²Ρ‹ Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число Π½Π° Π΄Π²Π°, остатка Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, поэтому ΠΌΡ‹ распСчатываСм эти числа. Π’Ρ‹, вСроятно, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ модуля Π² Π΄ΠΈΠΊΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅, Π½ΠΎ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ я Π½Π°Ρ…ΠΎΠ΄ΠΈΠ» Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ .

Π¦ΠΈΠΊΠ» while

Π¦ΠΈΠΊΠ» while Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для повторСния частСй ΠΊΠΎΠ΄Π°, Π½ΠΎ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ» n Ρ€Π°Π·, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ условиС. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΎΡ‡Π΅Π½ΡŒ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 >>> я = 0
>>> пока я <10:
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
        я = я + 1
 

Π¦ΠΈΠΊΠ» while ΠΏΠΎΡ…ΠΎΠΆ Π½Π° условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ этот ΠΊΠΎΠ΄: ΠΏΠΎΠΊΠ° пСрСмСнная i мСньшС дСсяти, распСчатайтС Π΅Π΅. Π—Π°Ρ‚Π΅ΠΌ, Π² ΠΊΠΎΠ½Ρ†Π΅, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Если Π²Ρ‹ запуститС этот ΠΊΠΎΠ΄, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ 0-9, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ. Если Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i, Ρ‚ΠΎ получится бСсконСчный Ρ†ΠΈΠΊΠ». ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΏΠ»ΠΎΡ…ΠΎ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ бСсконСчных Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ извСстны ΠΊΠ°ΠΊ логичСскиС ошибки.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ Ρ€Π°Π·ΠΎΡ€Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ‚Π»ΡŽ. Π­Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнного прСрывания ΠΈ .ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

 >>> пока я <10:
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
        Ссли я == 5:
            ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²
        я + = 1

0
1
2
3
4
5
 

Π’ этом Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° ΠΌΡ‹ добавляСм условиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ€Π°Π²Π½Π° Π»ΠΈ пСрСмСнная i ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ 5. Если Π΄Π°, Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ· Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ достигаСт 5, ΠΊΠΎΠ΄ останавливаСтся, Π΄Π°ΠΆΠ΅ Ссли ΠΌΡ‹ сказали Ρ†ΠΈΠΊΠ»Ρƒ while ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ достигнСт 10. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ способ увСличСния значСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ + = .Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ярлык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ матСматичСскими опСрациями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ (- =) ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ (* =).

ВстроСнная функция break извСстна ΠΊΠ°ΠΊ инструмСнт управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ . Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ continue , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ. Π’ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов использования:

 я = 0

пока я <10:
    Ссли я == 3:
        я + = 1
        ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)

    Ссли я == 5:
        ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²
    я + = 1
 

Π­Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ? По сути, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ условиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ провСряСт, Ρ€Π°Π²Π½ΠΎ Π»ΠΈ ΠΈ 3.Если это Ρ‚Π°ΠΊ, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ фактичСски пропускаСт Π²Ρ‹Π²ΠΎΠ΄ значСния 3 Π½Π° экран. Как ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ достигаСм значСния 5, ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ‚Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΡŒ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΈ это ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ else .

Для Ρ‡Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ΅Ρ‚Π»ΠΈ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else Π² Ρ†ΠΈΠΊΠ»Π°Ρ… выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном для поиска элСмСнтов:

 my_list = [1, 2, 3, 4, 5]

для i в my_list:
    Ссли я == 3:
        print ("Π’ΠΎΠ²Π°Ρ€ Π½Π°ΠΉΠ΄Π΅Π½!")
        ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
Π΅Ρ‰Π΅:
    print ("Π’ΠΎΠ²Π°Ρ€ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!")
 

Π’ этом ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, ΠΊΠΎΠ³Π΄Π° i Ρ€Π°Π²Π½ΠΎ 3.Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ пропуску ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ условиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π² спискС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else. ЧСстно говоря, я Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ Π²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ использовал эту структуру Π·Π° всС Π³ΠΎΠ΄Ρ‹ ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ программистом. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π²ΠΈΠ΄Π΅Π», - это Π±Π»ΠΎΠ³Π΅Ρ€Ρ‹, ΠΏΡ‹Ρ‚Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π― встрСчал Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовали Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли элСмСнт Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ искали. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ довольно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Python здСсь.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

НадСюсь, Π½Π° этом этапС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… Python. Они Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ ΠΈ понятным. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» для Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Ρ†ΠΈΠΊΠ» ΠΈ . ЀактичСски, ΠΌΡ‹ рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ использования Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ пониманиях! Если Π²Ρ‹ всС Π΅Ρ‰Π΅ Π½Π΅ совсСм ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ всС это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ эту Π³Π»Π°Π²Ρƒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» For для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка

РСзюмС : Π² этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Python for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка Π² Python.

ИспользованиС Ρ†ΠΈΠΊΠ»Π° Python for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка

Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° for ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 

для элСмСнта Π² спискС:

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Π’ этом синтаксисС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° for Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт списка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ item Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом списка ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ.

НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ опрСдСляСт список Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†ΠΈΠΊΠ» для для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка:

 

cities = ['Нью-Π™ΠΎΡ€ΠΊ', 'ПСкин', 'ΠšΠ°ΠΈΡ€', 'ΠœΡƒΠΌΠ±Π°ΠΈ', ' МСксика'] для Π³ΠΎΡ€ΠΎΠ΄Π° Π² Π³ΠΎΡ€ΠΎΠ΄Π°Ρ…: print (city)

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Π’Ρ‹Π²ΠΎΠ΄:

 

New York ПСкин ΠšΠ°ΠΈΡ€ ΠœΡƒΠΌΠ±Π°ΠΈ МСксика

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Shell Session (shell)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ†ΠΈΠΊΠ» for присваиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт списка city ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ city ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ city Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. .

ИспользованиС Ρ†ΠΈΠΊΠ»Π° Python for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка с индСксом

Иногда ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ доступ ΠΊ индСксам элСмСнтов Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°. Π’ этих случаях Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ enumerate () .

Ѐункция enumerate () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, содСрТащий Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ индСкс ΠΈ элСмСнт списка.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ опрСдСляСтся список Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» для с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ enumerate () для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка:

 

cities = ['New York', 'Beijing', 'Cairo' , "ΠœΡƒΠΌΠ±Π°ΠΈ", "МСксика"] для элСмСнта Π² пСрСчислСнии (Π³ΠΎΡ€ΠΎΠ΄Π°): print (item)

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Π’Ρ‹Π²ΠΎΠ΄:

 

(0, 'New York') (1, «ПСкин») (2, 'ΠšΠ°ΠΈΡ€') (3, 'ΠœΡƒΠΌΠ±Π°ΠΈ') (4, 'МСксика')

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Shell Session (shell)

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ индСксу, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π° for ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 

cities = ['New Π™ΠΎΡ€ΠΊ Β»,Β« ПСкин Β»,Β« ΠšΠ°ΠΈΡ€ Β»,Β« ΠœΡƒΠΌΠ±Π°ΠΈ Β»,Β« МСксика Β»] для индСкса, Π³ΠΎΡ€ΠΎΠ΄ Π² пСрСчислСнии (Π³ΠΎΡ€ΠΎΠ΄Π°): print (f "{index}: {city}")

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Π’Ρ‹Π²ΠΎΠ΄:

 

0: Нью-Π™ΠΎΡ€ΠΊ 1: ПСкин 2: ΠšΠ°ΠΈΡ€ 3: ΠœΡƒΠΌΠ±Π°ΠΈ 4: МСксика

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Shell Session (shell)

Ѐункция enumerate () позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция enumerate () с индСксом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ начинаСтся с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹:

 

cities = ['Нью-Π™ΠΎΡ€ΠΊ', 'ПСкин', 'ΠšΠ°ΠΈΡ€', 'ΠœΡƒΠΌΠ±Π°ΠΈ', 'МСксика'] для индСкса Π³ΠΎΡ€ΠΎΠ΄ Π² пСрСчислСнии (Π³ΠΎΡ€ΠΎΠ΄Π°, 1): print (f "{index}: {city}")

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Python (python)

Π’Ρ‹Π²ΠΎΠ΄:

 

1: Нью-Π™ΠΎΡ€ΠΊ 2: ПСкин 3: ΠšΠ°ΠΈΡ€ 4: ΠœΡƒΠΌΠ±Π°ΠΈ 5: МСксика

Π―Π·Ρ‹ΠΊ ΠΊΠΎΠ΄Π°: Shell Session (shell)

Summary

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» for для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списка.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» for с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ enumerate () для доступа ΠΊ индСксам.

Π’Ρ‹ нашли это руководство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ?

Python для Ρ†ΠΈΠΊΠ»Π°

Π’ Python ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово for обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для создания Ρ†ΠΈΠΊΠ»Π°. Π¦ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ, ΠΊΠ°ΠΊ список, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π½Π°Π±ΠΎΡ€, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Ρ‚. Π”.

Π’Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° для выполняСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта-Ρ‡Π»Π΅Π½Π° Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ логичСского выраТСния, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»ΠΎΠΌ (ΠΊΠ°ΠΊ Π² Ρ†ΠΈΠΊΠ»Π΅ while).

 для x Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:
    заявлСниС1
    заявлСниС2
    ...
    заявлСниСN
 

НачнСм с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ пСрСмСнная x Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ for относится ΠΊ элСмСнту с индСксом 0 Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ отступом послС символа : .ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ x Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ссылаСтся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт ΠΈ повторяСт Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ исчСрпана.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСмонстрируСтся Ρ†ΠΈΠΊΠ» for с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ списка.

  число = [10, 20, 30, 40, 50]

для i Π² числах:
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
  

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ Ρ†ΠΈΠΊΠ» for с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.

  число = (10, 20, 30, 40, 50)
для i Π² числах:
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
  

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ любого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° for.

  для символа в 'Hello':
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (символ)
  

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» для выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° items ().

  numNames = {1: 'Один', 2: 'Π”Π²Π°', 3: 'Π’Ρ€ΠΈ'}

для ΠΏΠ°Ρ€Ρ‹ Π² numNames.items ():
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΏΠ°Ρ€Π°)
  
  (1, "Один")
(2, 'Π”Π²Π°')
(3, Β«Π’Ρ€ΠΈΒ»)  

Paris ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Ρ†ΠΈΠΊΠ»Π΅ для , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

  numNames = {1: 'Один', 2: 'Π”Π²Π°', 3: 'Π’Ρ€ΠΈ'}

для k, v в numNames.items ():
    print ("ΠΊΠ»ΡŽΡ‡ =", k, ", Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ =", v)
  
  ΠΊΠ»ΡŽΡ‡ = 1, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = ΠΎΠ΄ΠΈΠ½
ΠΊΠ»ΡŽΡ‡ = 2, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π΄Π²Π°
ΠΊΠ»ΡŽΡ‡ = 3, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Ρ‚Ρ€ΠΈ
  

Π¦ΠΈΠΊΠ» For с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ () Ѐункция

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ - это нСизмСняСмый Ρ‚ΠΈΠΏ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.Range () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ range , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for .

  для i в диапазонС (5):
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
  

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° For

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° for ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ остановлСно ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова break ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… условиях, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

  для i в диапазонС (1, 5):
    Ссли я> 2
        ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
  

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово continue , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово continue ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… условиях, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

  для i в диапазонС (1, 5):
    Ссли я> 3
        ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
  

Для Ρ†ΠΈΠΊΠ»Π° с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ

Π‘Π»ΠΎΠΊ else ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ for , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, ΠΊΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» for Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ.

  для i в диапазонС (2):
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (я)
Π΅Ρ‰Π΅:
     print ('ΠšΠΎΠ½Π΅Ρ† Ρ†ΠΈΠΊΠ»Π° for')
  

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ для ΠΏΠ΅Ρ‚Π»ΠΈ

Если Ρ†ΠΈΠΊΠ» (Ρ†ΠΈΠΊΠ» for ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ» while) содСрТит Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ†ΠΈΠΊΠ» Π² своСм Π±Π»ΠΎΠΊΠ΅ Ρ‚Π΅Π»Π°, ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ эти Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π° Π²Π»ΠΎΠΆΠ΅Π½Ρ‹.Если внСшний Ρ†ΠΈΠΊΠ» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для выполнСния m ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для выполнСния n ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ, Π±Π»ΠΎΠΊ Ρ‚Π΅Π»Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ m X n Ρ€Π°Π·.

  для x в диапазонС (1,4):
    для y в диапазонС (1,3):
        print ('x =', x, ', y =', y)
  
  Ρ… = 1, Ρƒ = 1
Ρ… = 1, Ρƒ = 2
Ρ… = 2, Ρƒ = 1
Ρ… = 2, Ρƒ = 2
Ρ… = 3, Ρƒ = 1
Ρ… = 3, Ρƒ = 2
  
Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС ΠΏΠΎ Python

: Ρ†ΠΈΠΊΠ»Ρ‹ для Ρ†ΠΈΠΊΠ»ΠΎΠ²

Для ΠΏΠ΅Ρ‚Π΅Π»ΡŒ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Как ΠΈ Ρ†ΠΈΠΊΠ» while, Ρ†ΠΈΠΊΠ» for являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ языка программирования, Ρ‚.Π΅.Π΅. ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·.

Вряд Π»ΠΈ Π΅ΡΡ‚ΡŒ языки программирования Π±Π΅Π· Ρ†ΠΈΠΊΠ»ΠΎΠ² for, Π½ΠΎ Ρ†ΠΈΠΊΠ» for сущСствуСт Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…, Ρ‚.Π΅. ΠΊΠ°ΠΊ синтаксис, Ρ‚Π°ΠΊ ΠΈ сСмантика Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка программирования ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΠΏΠ΅Ρ‚Π΅Π»ΡŒ for:

  • Π¦ΠΈΠΊΠ» for с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ счСту (Ρ‚Ρ€ΠΈ выраТСния для Ρ†ΠΈΠΊΠ»Π°)

    Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнный Ρ‚ΠΈΠΏ. Π­Ρ‚ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ использовалось К.Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ†ΠΈΠΊΠ»Π° for этого Ρ‚ΠΈΠΏΠ° состоит ΠΈΠ· трСхпарамСтричСского ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ выраТСния Ρ†ΠΈΠΊΠ»Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄: для (A; Z; I) A - Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Z опрСдСляСт Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, Π° I - Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ подсчСта, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСрСмСнная Ρ†ΠΈΠΊΠ»Π° увСличиваСтся ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° являСтся Ρ†ΠΈΠΊΠ» for языка программирования C: для (i = 0; i <= n; i ++) Π’Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ» for Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Python!

  • ЧисловыС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹

    Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ Ρ†ΠΈΠΊΠ»Π° for являСтся ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°.Π­Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» подсчСта ΠΈΠ»ΠΈ пСрСчислСния. Начиная с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния ΠΈ считая Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для i = ΠΎΡ‚ 1 Π΄ΠΎ 100 Python Ρ‚ΠΎΠΆΠ΅ этого Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚.

  • ВСкторизация для ΠΏΠ΅Ρ‚Π΅Π»ΡŒ

    Они Π²Π΅Π΄ΡƒΡ‚ сСбя Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ всС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС выраТСния Π² ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² присваивания ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ присваиваниями.

  • Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ для Ρ†ΠΈΠΊΠ»Π°

    НаконСц, ΠΌΡ‹ подошли ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Python.Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ Ρ†ΠΈΠΊΠ»Π° for выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡŽ Π½Π°Π±ΠΎΡ€Π° элСмСнтов. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ характСризуСтся использованиСм нСявного ΠΈΠ»ΠΈ явного ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π° присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ сборС Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ Ρ†ΠΈΠΊΠ»Π° for извСстСн Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Unix ΠΈ Linux, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Python.

Бинтаксис Ρ†ΠΈΠΊΠ»Π° For

Как ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅, Ρ†ΠΈΠΊΠ» for Π² Python прСдставляСт собой ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, основанный Π½Π° Ρ†ΠΈΠΊΠ»Π΅ for. Он ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· элСмСнты списков, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, строк, ΠΊΠ»ΡŽΡ‡Π΅ΠΉ словарСй ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.Π¦ΠΈΠΊΠ» for Π² Python начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Β«forΒ», Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ значСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся пошагово. ΠžΠ±Ρ‰ΠΈΠΉ синтаксис выглядит Ρ‚Π°ΠΊ:

для Π²: Π΅Ρ‰Π΅:

Python для Ρ†ΠΈΠΊΠ»Π° - w3resource

для ΠΏΠ΅Ρ‚Π»ΠΈ

Как ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Π² Python Π΅ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ for, Π½ΠΎ ΠΎΠ½ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C ΠΈΠ»ΠΈ Pascal.Π’ Python Ρ†ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов любой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ список Python, строку, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ Ρ‚. Π”. Π¦ΠΈΠΊΠ» for Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для доступа ΠΊ элСмСнтам ΠΈΠ· ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, списку, строкС, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ) с использованиСм встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½().

Бинтаксис:

 для имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ порядку:
заявлСниС_1
заявлСниС_2
....
 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€:

Имя ОписаниС
имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°.
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, которая Π±ΡƒΠ΄Π΅Ρ‚ присвоСна Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ЗначСния ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ списка, строки ΠΈΠ»ΠΈ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range ().
выписка_1, выписка_2 ..... Π‘Π»ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Python для Ρ†ΠΈΠΊΠ»Π°

  >>> # Бписок состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… элСмСнтов, индСксы Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0 ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° 3
>>> color_list = ["ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ", "Π‘ΠΈΠ½ΠΈΠΉ", "Π—Π΅Π»Π΅Π½Ρ‹ΠΉ", "Π§Π΅Ρ€Π½Ρ‹ΠΉ"]
>>> для c в color_list:
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (с)

  красный
  Π‘ΠΈΠ½ΠΈΠΉ
  Π—Π΅Π»Π΅Π½Ρ‹ΠΉ
  Π§Π΅Ρ€Π½ΠΈΡ‚ΡŒ
>>>
  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ color_list - это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, содСрТащая список Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½Π°Π·Π²Π°Π½ΠΈΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ².Когда Ρ†ΠΈΠΊΠ» for выполняСтся, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт (Ρ‚.Π΅. красный) присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ c. ПослС этого Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, ΠΈ процСсс Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅ΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° списка.

Python для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ()

Ѐункция range () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл. Ѐункция ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½, Π΄Π²Π° ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ послСдниС Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Он ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… for. Π’ΠΎΡ‚ синтаксис.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½
 (Π°)
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Π°, Π±)
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (a, b, c)
 

Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (a): Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл ΠΎΡ‚ 0 Π΄ΠΎ a, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ a, с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° 1.

Бинтаксис:

 для <ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ> Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (<число>):
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  >>> для диапазона (4):
  ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)
 
  0
  1
  2
  3
>>>  

range (a, b): Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл ΠΎΡ‚ a Π΄ΠΎ b, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ b, с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° 1.

Бинтаксис:

 для "ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ" Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ("start_number", "end_number"):
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  >>> для диапазона (2,7):
 ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)

  2
  3
  4
  5
  6
>>>  

range (a, b, c): Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл ΠΎΡ‚ a Π΄ΠΎ b, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ b, с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° c.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  >>> для диапазона (2,19,5):
  ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π°)
 
 2
 7
 12
 17
>>>  

Python для Ρ†ΠΈΠΊΠ»Π°: итСрация ΠΏΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ, списку, ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: итСрация ΠΏΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ подсчитываСтся количСство Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл ΠΈΠ· ряда чисСл.

  numbers = (1, 2, 3, 4, 5, 6, 7, 8, 9) # ОбъявлСниС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°
count_odd = 0
count_even = 0
для x Π² числах:
        Ссли x% 2:
    count_odd + = 1
        Π΅Ρ‰Π΅:
    count_even + = 1
print ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл:", count_even)
print ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл:", count_odd)
  

Π’Ρ‹Ρ…ΠΎΠ΄:

 ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл: 4
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл: 5 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΈΠΌΠ΅Π½Π΅ΠΌ numbers, содСрТащий Ρ†Π΅Π»Ρ‹Π΅ числа ΠΎΡ‚ 1 Π΄ΠΎ 9.

Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ число Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ, - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ модуля (%).
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ остаток ΠΎΡ‚ дСлСния Π΄Π²ΡƒΡ… чисСл.
ΠœΠΎΠ΄ΡƒΠ»ΡŒ 8% 2 Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 8 дСлится Π½Π° 2, поэтому 8 являСтся Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ, Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 5% 2 Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1, поэтому 5 являСтся Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ.

Π¦ΠΈΠΊΠ» for выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΡƒ, ΠΈ ΠΌΡ‹ провСряСм, являСтся Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ x% 2 истинным ΠΈΠ»ΠΈ Π½Π΅Ρ‚, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, ΠΈ процСсс Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ ΠΎΠ±ΠΎΠ³Π°Ρ‚ΠΈΠΌ ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
Если это ΠΏΡ€Π°Π²Π΄Π°, count_even увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС count_odd увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.
НаконСц, ΠΌΡ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ количСство Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: итСрация ΠΏΠΎ списку

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ†ΠΈΠΊΠ» for выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ списку Β«datalistΒ» ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΌΡƒ Ρ‚ΠΈΠΏ Python.

  datalist = [1452, 11.23, 1 + 2j, True, 'w3resource', (0, -1), [5, 12],
{"класс": 'V', "Ρ€Π°Π·Π΄Π΅Π»": 'A'}]
для элСмСнта Π² спискС Π΄Π°Π½Π½Ρ‹Ρ…:
   print ("Π’ΠΈΠΏ", элСмСнт, "Π΅ΡΡ‚ΡŒ", Ρ‚ΠΈΠΏ (элСмСнт))
  

Π’Ρ‹Ρ…ΠΎΠ΄:

 Π’ΠΈΠΏ 1452 - 
Π’ΠΈΠΏ 11.23 - это <класс 'float'>
Π’ΠΈΠΏ (1 + 2j) - <класс 'слоТный'>
Π’ΠΈΠΏ True - 
Π’ΠΈΠΏ w3resource: 
Π’ΠΈΠΏ (0, -1) - 
Π’ΠΈΠΏ [5, 12] - 
Π’ΠΈΠΏ {'section': 'A', 'class': 'V'} - 
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: итСрация ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ†ΠΈΠΊΠ» for выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ "color" ΠΏΠΎ своим ΠΊΠ»ΡŽΡ‡Π°ΠΌ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡.

  >>> color = {"c1": "ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ", "c2": "Π—Π΅Π»Π΅Π½Ρ‹ΠΉ", "c3": "ΠžΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ"}
>>> для ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°:
   ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠ»ΡŽΡ‡)
 
c2
c1
c3
>>>
  

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» for выполняСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π΅Π³ΠΎ значСниям:

  >>> color = {"c1": "ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ", "c2": "Π—Π΅Π»Π΅Π½Ρ‹ΠΉ", "c3": "ΠžΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ"}
>>> для значСния Π² color.values ​​():
   ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

Π—Π΅Π»Π΅Π½Ρ‹ΠΉ
красный
апСльсин
>>>
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ for, Π² этом случаС синтаксис Π±ΡƒΠ΄Π΅Ρ‚ -

 для имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ порядку:
заявлСниС_1
заявлСниС_2
....
Π΅Ρ‰Π΅ :
заявлСниС_3
заявлСниС_4
....
 

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° for. Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break выполняСтся Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ†ΠΈΠΊΠ», Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else Π½Π΅ выполняСтся.

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°Ρ: Python If elif else
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ: Python While Loop

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Ρ‹ w3resource

For Loops Π² Python: ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠ² For Π² Python

Π¦ΠΈΠΊΠ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ снова ΠΈ снова, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ условиС.

для Ρ†ΠΈΠΊΠ»Π° Π² Python - это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ выполнСния Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΠΎΠΊΠ° выполняСтся условиС. Π’Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚Π°ΠΊΠΆΠ΅ извСстСн ΠΊΠ°ΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ†ΠΈΠΊΠ» for - это ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Python всСгда Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ свСрху Π²Π½ΠΈΠ·. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ выполнСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния , Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» for.ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ†ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π½Π°Π΅ΠΌ, сколько Ρ€Π°Π· Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1 Ρ†ΠΈΠΊΠ»Π° For Π½Π° Python

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ кусочков Ρ‚ΠΎΡ€Ρ‚Π° ΠΈ напишСм ΠΊΠΎΠ΄. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выполняСтся итСрация ΠΎΡ‚ 1 Π΄ΠΎ 5 с использованиСм Ρ†ΠΈΠΊΠ»Π° for:

 пластин = [1,2,3,4,5] 
для x Π² пластинах:
print ('Π― ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» кусок Ρ‚ΠΎΡ€Ρ‚Π° Π½Π° Π½ΠΎΠΌΠ΅Ρ€ пластины', x)
print («ВсС 5 Ρ‚Π°Ρ€Π΅Π»ΠΎΠΊ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΏΠΎΠ΄Π°Ρ‡Π΅!Β»)
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1

Π― ΠΊΠ»Π°Π΄Ρƒ кусок Ρ‚ΠΎΡ€Ρ‚Π° Π½Π° Ρ‚Π°Ρ€Π΅Π»ΠΊΡƒ Π½ΠΎΠΌΠ΅Ρ€ 1

Π― ΠΊΠ»Π°Π΄Ρƒ кусок Ρ‚ΠΎΡ€Ρ‚Π° Π½Π° Ρ‚Π°Ρ€Π΅Π»ΠΊΡƒ Π½ΠΎΠΌΠ΅Ρ€ 2

Π― ΠΊΠ»Π°Π΄Ρƒ Ρ‚ΠΎΡ€Ρ‚ кусок Ρ‚ΠΎΡ€Ρ‚Π° Π½Π° Ρ‚Π°Ρ€Π΅Π»ΠΊΡƒ Π½ΠΎΠΌΠ΅Ρ€ 3

Π― ΠΊΠ»Π°Π΄Ρƒ кусок Ρ‚ΠΎΡ€Ρ‚Π° Π½Π° Ρ‚Π°Ρ€Π΅Π»ΠΊΡƒ Π½ΠΎΠΌΠ΅Ρ€ 4

Π― ΠΊΠ»Π°Π΄Ρƒ кусок Ρ‚ΠΎΡ€Ρ‚Π° Π½Π° Ρ‚Π°Ρ€Π΅Π»ΠΊΡƒ Π½ΠΎΠΌΠ΅Ρ€ 5

ВсС 5 Ρ‚Π°Ρ€Π΅Π»ΠΎΠΊ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΏΠΎΠ΄Π°Ρ‡Π΅!

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали список Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Python ΠΎΡ‚ 1 Π΄ΠΎ 5.Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° Π² спискС Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΌΡ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π° консоли. Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» for? ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° повторяла содСрТимоС Ρ†ΠΈΠΊΠ»Π° for Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° условиС Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ. На ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«xΒ» Π±Ρ‹Π» присвоСн Π½ΠΎΠΌΠ΅Ρ€ 1 (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ Π² спискС с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «пластины»). Π—Π°Ρ‚Π΅ΠΌ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (ΠΈ СдинствСнный) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΈ Π½Π° консоль Π±Ρ‹Π» Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π²Ρ‹Π²ΠΎΠ΄ Β«Π― ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» кусок Ρ‚ΠΎΡ€Ρ‚Π° Π½Π° Ρ‚Π°Ρ€Π΅Π»ΠΊΡƒ Π½ΠΎΠΌΠ΅Ρ€ 1Β». ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ список всС Π΅Ρ‰Π΅ содСрТал большС элСмСнтов, Ρ†ΠΈΠΊΠ» for всС Π΅Ρ‰Π΅ находился ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, поэтому Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ число 2 (Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π² спискС) Π±Ρ‹Π»ΠΎ присвоСно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ 'x', ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ снова.ΠŸΡ€ΠΎΡ†Π΅ΡΡ повторялся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±Ρ‹Π» достигнут ΠΊΠΎΠ½Π΅Ρ† списка, ΠΊΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» Π²Π΅Ρ€Π½ΡƒΠ» ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ основному ΠΏΠΎΡ‚ΠΎΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Бинтаксис Π² Ρ†ΠΈΠΊΠ»Π°Ρ… For Π² Python

Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ посмотритС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° 1 ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт «Бинтаксис Ρ†ΠΈΠΊΠ»Π° ForΒ». Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Π±ΡƒΠΊΠ²Ρƒ Β«xΒ» Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ for, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Β«inΒ»? Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Β«xΒ» ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ· списка Python. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±ΡƒΠΊΠ²Π° Β«Ρ…Β» ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ - это ΠΎΠ±Ρ‰ΠΈΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ относится ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, прСдставлСнным Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Python - строкой, списком, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ, Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΈΠ»ΠΈ словарСм.Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ» for, Π²Ρ‹ фактичСски Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Python Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ дСйствиС для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ элСмСнтов.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ отступ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ условного Π±Π»ΠΎΠΊΠ°, Ρ‡Ρ‚ΠΎ являСтся ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ Python.

Для синтаксиса Ρ†ΠΈΠΊΠ»Π°

Π¦ΠΈΠΊΠ» For с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Range ()

Ѐункция range () Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ΅Ρ€ΠΈΡŽ элСмСнтов ΠΈΠ· ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° основС прСдоставлСнного Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.Если Π²Ρ‹ прСдоставитС Π΅ΠΌΡƒ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎΠ³Π΄Π° функция range () Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ΅Ρ€ΠΈΡŽ чисСл, начиная с 0 Π΄ΠΎ этого значСния. Если Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ†, функция range () Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ΅Ρ€ΠΈΡŽ чисСл ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ остановки, Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π΅. Если Π²Ρ‹ прСдоставитС Ρ‚Ρ€ΠΈ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range (), Ρ‚ΠΎΠ³Π΄Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ станСт счСтчиком шагов. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ количСство шагов Ρ€Π°Π²Π½ΠΎ 1.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2 Ρ†ΠΈΠΊΠ»Π° For Π² Python

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ числа ΠΎΡ‚ 0 Π΄ΠΎ 6 с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range () с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for Python.ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π°Π²Π½ΠΎ 0. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 7 остановится Π½Π° 6. Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ шагов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π΅Π½ 1, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½.

 для x в диапазонС (7): 
print (x)
Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 2

0

1

2

3

4

5

6

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3 Ρ†ΠΈΠΊΠ»Π° For Loops Π² Python

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 2. Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа ΠΎΡ‚ 0 Π΄ΠΎ 6.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа ΠΎΡ‚ 0 Π΄ΠΎ 6, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ функция range () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 7 ΠΈ счСтчик шагов 2. Для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° r функция range () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΎΡ‚ 0 Π΄ΠΎ r-1.

 для x в диапазонС (0, 7, 2): 
print (x)
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 3

0

2

4

6

Π‘Π²ΠΎΠ΄ΠΊΠ° ΡƒΡ€ΠΎΠΊΠ°

A для Ρ†ΠΈΠΊΠ»Π° is ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ выполнСния Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΠΎΠΊΠ° выполняСтся условиС.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *