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

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

Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Для выполнСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ, ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ†ΠΈΠΊΠ»Ρ‹. Π’ Python Ρ‚Π°ΠΊΠΈΡ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π΄Π²Π°:

  • for – счСтный Ρ†ΠΈΠΊΠ», повторяСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·;
  • while – условный Ρ†ΠΈΠΊΠ», повторяСтся Π΄ΠΎ выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ условия.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ†ΠΈΠΊΠ» for, Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ – while.

НазначСниС Ρ†ΠΈΠΊΠ»Π° for Π² Python

Π¦ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄Π²ΡƒΡ… случаях:

  • Если Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ (ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дСйствий) ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·.
  • Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ (ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€) элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ – списка, строки, словаря, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, мноТСства – ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выполняя ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с этими элСмСнтами.

Π’ любом ΠΈΠ· этих случаСв Ρ†ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ:

  • простым – состоящим ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ for-Ρ†ΠΈΠΊΠ»Π°;
  • Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ – состоящим ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ for-Ρ†ΠΈΠΊΠ»ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:

  • простыС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ условия if… elif… else;
  • ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break для прСрывания ΠΈ continue для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΌΡ‹ рассмотрим Π½ΠΈΠΆΠ΅.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° простого Ρ†ΠΈΠΊΠ»Π° Python for

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ†ΠΈΠΊΠ» for выглядит Ρ‚Π°ΠΊ:

for Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ in range(число_ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ):
    Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°

    

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°:

>>> for i in range(5):
    print('Python')
    
Python
Python
Python
Python
Python

    

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простого Ρ†ΠΈΠΊΠ»Π° – ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ:

for Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ in Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ:
    Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°

    

Код ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° выглядят Ρ‚Π°ΠΊ:

>>> for i in 'Python':
    print(i)
    
P
y
t
h
o
n

    

ΠŸΠ΅Ρ€Π²Π°Ρ строка, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ†ΠΈΠΊΠ» for, Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ:. Π’Π°ΠΊΠΈΠ΅ двоСточия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… конструкциях Python, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² for, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, обнаруТивая :, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΈΠ½Π΄Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ (отступ) Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС. ΠžΡ‚ΡΡ‚ΡƒΠΏΡ‹ Π² Python Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ ΠΊΠΎΠ΄ Π½Π° логичСскиС Π±Π»ΠΎΠΊΠΈ (Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ² – Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок, Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой). Π’ соотвСтствии с руководством PEP8, отступ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΈΠ·

4 ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа табуляции Tab. Π˜Π½Π΄Π΅Π½Ρ‚Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ – ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π°, Ρ‚Π°Π±Π°ΠΌΠΈ – допустима. Однако нСдопустимо ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ – это сразу ΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС:

TabError: inconsistent use of tabs and spaces in indentation
    

НСдостаток ΠΈΠ»ΠΈ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ приводят ΠΊ ошибкС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ логичСскому Π±Π»ΠΎΠΊΡƒ относится Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°:

IndentationError: unindent does not match any outer indentation level
    

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° for

Π›ΡŽΠ±ΠΎΠΉ Ρ†ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя Π΄Ρ€ΡƒΠ³ΠΎΠΉ for-Ρ†ΠΈΠΊΠ» (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ нСсколько):

lst1 = ['1', '2', '3', '4', '5']
lst2 = ['a', 'b', 'c', 'd', 'e']
for i in lst1:
    for j in lst2:
        print(i + j)

    

Π’ΠΎ врСмя выполнСния Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Python сначала ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ всС элСмСнты Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту внСшнСго Ρ†ΠΈΠΊΠ»Π°:

1a
1b
1c
1d
1e
2a
2b
2c
2d
2e
3a
3b
3c
3d
3e
4a
4b
4c
4d
4e
5a
5b
5c
5d
5e

    

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ†ΠΈΠΊΠ»Π° for с условиСм

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ соотвСтствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (элСмСнтов) ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ условиям Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция Π²ΠΈΠ΄Π° if… elif… else…:

age = int(input('Бколько Ρ‚Π΅Π±Π΅ Π»Π΅Ρ‚? '))
if age < 7:
    print('Π’ ΠΊΠ°ΠΊΠΎΠΉ дСтсад Ρ…ΠΎΠ΄ΠΈΡˆΡŒ?')
elif 7 <= age <= 18:
    print('Π’ ΠΊΠ°ΠΊΠΎΠΉ школС ΡƒΡ‡ΠΈΡˆΡŒΡΡ?')
elif 18 <= age <= 23:
        print('Π£Ρ‡ΠΈΡˆΡŒΡΡ Π² Π’Π£Π—Π΅?')
elif 60 <= age < 90 :
        print('Π£ΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ?')        
elif age > 90:
        print('Π”ΠΎΠ»Π³ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ!')
else:
    print('Π“Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ?')

    

РазумССтся, ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ простых Π·Π°Π΄Π°Ρ‡ условиС ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅:

st = 'abracad5bra'
for i in st:
    if not i. Π°>Π±(ΠΎ@Ρ€'
for i in st:
    if not i.isalpha():
        continue
    else:
        print(i)

    

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ пропускаСт всС символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠΌ
Ρƒ
Ρ‚
Π°
Π±
ΠΎ
Ρ€

    

Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅

Π¦ΠΈΠΊΠ» for часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ввСсти Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ) ΠΈΠ· n строк:

n = int(input())
lst = []
for i in range(n):
    lst.append(list(map(int, input().split())))

    

А Ρ‚Π°ΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΌΠΎΠΆΠ½ΠΎ вывСсти:

# 1-ΠΉ способ Π²Ρ‹Π²ΠΎΠ΄Π°
for i in lst:
    print(*i)
# 2-ΠΉ способ Π²Ρ‹Π²ΠΎΠ΄Π°
for i in range(len(lst)):
    for j in range(len(lst)):
        print(lst[i][j], end=' ')
    print()
print() 
    

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈΠ· 5 строк:

1 2 3 4 7
7 8 3 9 0
1 3 9 5 3
2 7 4 9 2
1 9 0 4 5

    

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ†ΠΈΠΊΠ»Π° for Π² Python

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

>>> my_dict = {'Ρ†Π²Π΅Ρ‚': 'красный', 'Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»': 'ABC123', 'Ρ†Π΅Π½Π°': 650}
>>> for k, v in my_dict.items():
	print(f'{k} - {v}')
	
Ρ†Π²Π΅Ρ‚ - красный
Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ» - ABC123
Ρ†Π΅Π½Π° - 650

    

2. Если пСрСмСнная Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°, вмСсто названия ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ символ подчСркивания _ :

>>> mydict = {}
>>> for _ in range(int(input())):
	k, v = input().split(': ')
	mydict[k.capitalize()] = v.title()
	
3
ΠΆΠ°Π½Ρ€: уТасы, Ρ‚Ρ€ΠΈΠ»Π»Π΅Ρ€
Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "ΠΌΠΈΠ·Π΅Ρ€ΠΈ"
Π°Π²Ρ‚ΠΎΡ€: стивСн ΠΊΠΈΠ½Π³
>>> print(mydict)
{'Π–Π°Π½Ρ€': 'УТасы, Π’Ρ€ΠΈΠ»Π»Π΅Ρ€', 'НазваниС': '"ΠœΠΈΠ·Π΅Ρ€ΠΈ"', 'Автор': 'Π‘Ρ‚ΠΈΠ²Π΅Π½ Кинг'}

    

3. Π’ Ρ†ΠΈΠΊΠ»Π΅ for ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range() – старт ΠΈ шаг:

>>> for i in range(1, 12, 2):
	print('*' * i)
	
*
***
*****
*******
*********
***********

    

4. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ мноТСства условий Π² Ρ†ΠΈΠΊΠ»Π΅ for ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ:

ops = {'-':'a - b', '+':'a + b', '*': 'a * b', '/':'a / b'}
a, b = int(input('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a: ')), int(input('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b: '))
op = input('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: ')
if op in ops.keys():
    print(eval(ops[op]))
else:
    print('ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ +, -, * ΠΈ /')

    

Π‘Π΅Π· словаря ΠΊΠΎΠ΄ выглядСл Π±Ρ‹ Ρ‚Π°ΠΊ:

a, b = int(input('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a: ')), int(input('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b: '))
op = input('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: ')
if op == '-':
    print(a - b)
elif op == '+':
    print(a + b)
elif op == '/':
    print(a / b)
elif op == '*':
    print(a * b)  
else:
    print('ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ +, -, * ΠΈ /')

    

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

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€:

my_dict = {s[0].
lower(): s[1] for s in (input().split(': ') for _ in range(int(input())))}

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» for:

for _ in range(int(input())):
    k, v = input().split(': ')
    my_dict[k.lower()] = v

    

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»ΠΎΠ² выглядит Π±ΠΎΠ»Π΅Π΅ понятным ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ – сравнитС Ρ†ΠΈΠΊΠ» ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ для вычислСния ряда Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ:

Π¦ΠΈΠΊΠ» + ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ:

f1, f2 = 1, 1
for i in range(int(input())):
    print(f1)
    f1, f2 = f2, f1 + f2

    

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ:

fib = [1, 1]
calc = [fib.append(fib[i - 1] + fib[i - 2]) for i in range(2, int(input()))]
print(*fib)

    

6. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΊΠΎΠ΄ для Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ† (Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… списков) довольно ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΌ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ n x m. ΠŸΡ€ΠΈ n = 4 ΠΈ m = 3 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° выглядит Ρ‚Π°ΠΊ:

2 5 6
1 7 8
9 0 3
4 7 5

    

Π‘Ρ€Π°Π²Π½ΠΈΠΌ ΠΊΠΎΠ΄ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°, написанный с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠ΄, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°:

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹:

n, m = int(input()), int(input())
matrix = []
for i in range(n):
    matrix.append([])
    for j in range(m):
        temp = input()
        matrix[i].append(temp)
for i in range(n):
    for j in range(m):
        print(matrix[i][j], end=' ')
    print()

    

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€:

n, m = int(input()), int(input())
matrix = [[input() for word in range(m)] for _ in range(n)]
[print(*i) for i in matrix]

    

7. Π₯отя Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ списковыС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡŽΡ‚ΡΡ, ΠΏΠΎ сути, сТатой Ρ„ΠΎΡ€ΠΌΠΎΠΉ записи Ρ†ΠΈΠΊΠ»Π°, Π² синтаксисС Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π΅ΡΡ‚ΡŒ различия. НапримСр, Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ax ΠΈ списковыx Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ†ΠΈΠΊΠ»ΠΎΠ², Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ break ΠΈ continue – вмСсто этого условиС формулируСтся ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ:

Π¦ΠΈΠΊΠ»:

st = input()
sp = []
for i in st:
    if i.isalpha():
        sp.append(i)
    else:
        continue
print(sp)

    

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€:

sp2 = [i for i in st if i.isalpha()]
print(sp2)

    

8. Для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ вмСсто Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простой for вмСстС с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ zip():

>>> list1 = ['Π°', 'Π±', 'Π²', 'Π³', 'Π΄']
>>> list2 = [1, 2, 3, 4, 5]
>>> for i, j in zip(list1, list2):
        print(i + str(j))
Π°1
Π±2
Π²3
Π³4
Π΄5 

    

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ – использованиС индСкса ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· списков. Для обращСния ΠΊ индСксам Π² range() Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ len():

>>> lst1 = ['a', 'b', 'c', 'd', 'e']
>>> lst2 = [11, 12, 13, 14, 15]
>>> for i in range(len(lst1)):
	print(lst1[i], lst2[i])
	
a 11
b 12
c 13
d 14
e 15

    

9. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с индСксами Π² Ρ†ΠΈΠΊΠ»Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция enumerate():

>>> my_list = ['Ρ…Π°Ρ€Π΄-Ρ€ΠΎΠΊ', 'хэви-ΠΌΠ΅Ρ‚Π°Π»', 'Ρ…ΠΈΠΏ-Ρ…ΠΎΠΏ', 'рэп', 'ΠΏΠ°Π½ΠΊ-Ρ€ΠΎΠΊ']
>>> for i, j in enumerate(my_list):
	print(i, j)
	
0 Ρ…Π°Ρ€Π΄-Ρ€ΠΎΠΊ
1 хэви-ΠΌΠ΅Ρ‚Π°Π»
2 Ρ…ΠΈΠΏ-Ρ…ΠΎΠΏ
3 рэп
4 ΠΏΠ°Π½ΠΊ-Ρ€ΠΎΠΊ

    

10. ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ счСтчики. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл:

lst = [5, 6, -3, 1, 12, -2, -7, 8, 3, 2]
k = 0
for i in lst:
    if i < 0:
        k += 1
print(f'ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл: {k}')  

    

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл: 3
    

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π—Π°Π΄Π°Π½ΠΈΠ΅ 1

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ число n ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ n строк с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ умноТСния чисСл ΠΎΡ‚ 1 Π΄ΠΎ n Π½Π° символ *.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

7
    

Π’Ρ‹Π²ΠΎΠ΄:

УмноТаю * на 1: *
УмноТаю * на 2: **
УмноТаю * на 3: ***
УмноТаю * на 4: ****
УмноТаю * на 5: *****
УмноТаю * на 6: ******
УмноТаю * на 7: *******

    

РСшСниС:

n = int(input())
for i in range(1, n + 1):
    print(f"УмноТаю * на {i}: {'*' * i}")

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ строку Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚:

  • ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл.
  • ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ всСх ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл.
  • МинимальноС ΠΈ максимальноС числа Π±Π΅Π· использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ min() ΠΈ max().

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

3 -5 2 4 12 7 3 4 6 9 25 -50 12 35 2 11
    

Π’Ρ‹Π²ΠΎΠ΄:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл: 14
ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл: 250
МинимальноС число: -50
МаксимальноС число: 35

    

РСшСниС:

lst = map(int, input(). split())
pos = 0
neg_prod = 1
min_num = 0
max_num = 0
for i in lst:
    if i > 0:
        pos += 1
    elif i < 0:
        neg_prod *= i
    if i < min_num:
        min_num = i
    elif i > max_num:
        max_num = i
print(f'ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл: {pos}')
print(f'ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл: {neg_prod}')
print(f'МинимальноС число: {min_num}')
print(f'МаксимальноС число: {max_num}')

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 3

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая создаСт Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список ΠΈΠ· n строк, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сумму ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ элСмСнтов ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ подсписка (Π±Π΅Π· использования sum() ΠΈ math.prod()).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

6
4 5 6 7 8
2 1 3 9 8
6 4 3 2 6
9 7 6 3 2
1 4 5 7 2
7 3 2 1 6

    

Π’Ρ‹Π²ΠΎΠ΄:

Подсписок 0: сумма чисСл = 30, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ = 6720
Подсписок 1: сумма чисСл = 53, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ = 2903040
Подсписок 2: сумма чисСл = 74, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ = 2508226560
Подсписок 3: сумма чисСл = 101, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ = 5688657838080
Подсписок 4: сумма чисСл = 120, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ = 1592824194662400
Подсписок 5: сумма чисСл = 139, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ = 401391697054924800

    

РСшСниС:

n = int(input())
lst = []
for i in range(n):
    lst. append(list(map(int, input().split())))
summa = 0
prod = 1
for i, j in enumerate(lst):
    for num in j:
        summa += num
        prod *= num        
    print(f'Подсписок {i}: сумма чисСл = {summa}, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ = {prod}')

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 4

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

Π°Π±Π²Π³Π΄Π΅Ρ‘ΠΆΠ·ΠΈΠΉΠΊΠ»ΠΌΠ½ΠΎΠΏΡ€ΡΡ‚ΡƒΡ„Ρ…Ρ†Ρ‡ΡˆΡ‰ΡŠΡ‹ΡŒΡΡŽΡ
9

    

Π’Ρ‹Π²ΠΎΠ΄:

[['Π°', 'ΠΈ', 'с', 'ъ'], ['Π±', 'ΠΉ', 'Ρ‚', 'Ρ‹'], ['Π²', 'ΠΊ', 'Ρƒ', 'ь'], ['Π³', 'Π»', 'Ρ„', 'э'], ['Π΄', 'ΠΌ', 'Ρ…', 'ю'], ['Π΅', 'Π½', 'Ρ†', 'я'], ['Ρ‘', 'ΠΎ', 'Ρ‡'], ['ΠΆ', 'ΠΏ', 'ш'], ['Π·', 'Ρ€', 'Ρ‰']]
    

РСшСниС:

st = list(input())
n = int(input())
result = []
for i in range(n):
    result. append(st[i::n])
print(result)

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 5

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для транспонирования ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

5
1 4 7 8 9
3 5 6 1 0
8 2 4 7 2
8 1 0 3 6
5 4 9 1 2

    

Π’Ρ‹Π²ΠΎΠ΄:

1 3 8 8 5
4 5 2 1 4
7 6 4 0 9
8 1 7 3 1
9 0 2 6 2

    

РСшСниС:

n = int(input())
matrix = [input().split() for _ in range(n)]
for i in range(n):
    for j in range(i, n):
        matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
for i in matrix:
    print(*i)  

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 6

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран снСТинку Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n x n. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ снСТинки состоят ΠΈΠ· символов *, Ρ„ΠΎΠ½ – ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

15
    

Π’Ρ‹Π²ΠΎΠ΄:

* .  . . . . . * . . . . . . *
. * . . . . . * . . . . . * .
. . * . . . . * . . . . * . .
. . . * . . . * . . . * . . .
. . . . * . . * . . * . . . .
. . . . . * . * . * . . . . .
. . . . . . * * * . . . . . .
* * * * * * * * * * * * * * *
. . . . . . * * * . . . . . .
. . . . . * . * . * . . . . .
. . . . * . . * . . * . . . .
. . . * . . . * . . . * . . .
. . * . . . . * . . . . * . .
. * . . . . . * . . . . . * .
* . . . . . . * . . . . . . *

    

РСшСниС:

n = int(input())
snowflake = [['.'] * n for _ in range(n)]
for i in range(n):
    for j in range(n):
        if i == n // 2 or j == n // 2:
            snowflake[i][j] = '*'
        elif i == j or i + j + 1 == n:
            snowflake[i][j] = '*'
            
for line in snowflake:
    print(*line)  
    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 7

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая:

  • создаСт ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π½Π° Π²Ρ…ΠΎΠ΄ строк;
  • провСряСт, являСтся Π»ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° симмСтричной ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ±ΠΎΡ‡Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ;
  • Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π”Π° ΠΈΠ»ΠΈ НСт Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

4
1 2 3 1
2 2 2 3
3 3 2 2
4 3 2 1

    

Π’Ρ‹Π²ΠΎΠ΄:

Π”Π°
    

РСшСниС:

n = int(input())
matrix = []
for _ in range(n):
    matrix.append(list(map(int, input().split())))
ans = 'Π”Π°'
for i in range(n - 1):
    for j in range(n - i - 1):
        if matrix[i][j] != matrix[n - j - 1][n - i - 1]:
            ans = 'НСт'
            break
    if ans == 'НСт':
        break
print(ans)

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 8

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ число 1 <= n <= 9, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ умноТСния для всСх чисСл ΠΎΡ‚ 1 Π΄ΠΎ n.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

5
    

Π’Ρ‹Π²ΠΎΠ΄:

1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
 
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
 
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
 
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
 
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45

    

РСшСниС:

n = int(input())
for i in range(1, n + 1):
    for j in range(1, 10):
        print(i, '*', j, '=', i * j)
    print()

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 9

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число n, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΏΡ€Π°Π²ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

11
    

Π’Ρ‹Π²ΠΎΠ΄:

*
**
***
****
*****
******
*****
****
***
**
*

    

РСшСниС:

n = int(input())
for i in range(1, n // 2 + 2):
    print('*' * i, sep='\n')
for i in range(n // 2, 0, -1):
    print('*' * i)

    

Π—Π°Π΄Π°Π½ΠΈΠ΅ 10

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая:

  • ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ x ΠΈ y ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ n Ρ‚ΠΎΡ‡Π΅ΠΊ;
  • подсчитываСт количСство Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹Ρ… Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΊ чСтвСртям Π½Π΅ относят Ρ‚ΠΎΡ‡ΠΊΠΈ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ нСпосрСдствСнно Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹Ρ… осях X ΠΈ Y.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π°:

8
-4 1
3 6
7 -9
-1 -10
15 5
-12 15
11 17
-10 1

    

Π’Ρ‹Π²ΠΎΠ΄:

ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: 3
Вторая Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: 3
Π’Ρ€Π΅Ρ‚ΡŒΡ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: 1
ЧСтвСртая Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: 1

    

РСшСниС:

q_1, q_2, q_3, q_4 = 0, 0, 0, 0
for _ in range(int(input())):
    x, y = [int(i) for i in input(). split()]
    if int(x) > 0 and int(y) > 0:
        q_1 += 1
    elif int(x) < 0 and int(y) > 0:
        q_2 += 1
    elif int(x) < 0 and int(y) < 0:
        q_3 += 1
    elif int(x) > 0 and int(y) < 0: 
        q_4 += 1
print(f'ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: {q_1}', f'Вторая Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: {q_2}', f'Π’Ρ€Π΅Ρ‚ΡŒΡ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: {q_3}', f'ЧСтвСртая Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡŒ: {q_4}', sep='\n')

    

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ

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

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ особСнности Ρ†ΠΈΠΊΠ»Π° while.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ самоучитСля

  1. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ, сфСры примСнСния, установка, ΠΎΠ½Π»Π°ΠΉΠ½ IDE
  2. ВсС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для изучСния Python с нуля – ΠΊΠ½ΠΈΠ³ΠΈ, сайты, ΠΊΠ°Π½Π°Π»Ρ‹ ΠΈ курсы
  3. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  4. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками
  5. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками ΠΈ списковыми Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ
  6. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со словарями ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ словарСй
  7. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ
  8. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со мноТСствами
  9. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ†ΠΈΠΊΠ»Π° for
  10. Условный Ρ†ΠΈΠΊΠ» while
  11. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ

***

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° питониста»

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΊΠ°Π½Π°Π»Ρƒ

Π¦ΠΈΠΊΠ»Ρ‹ Π² Python

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

  • Π¦ΠΈΠΊΠ» for
  • Π¦ΠΈΠΊΠ» while

Π― Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» for популярнСС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ. Π¦ΠΈΠΊΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·. НСрСдко Π²Π°ΠΌ придСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ (ΠΈΠ»ΠΈ ряд ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) Π² части Π΄Π°Π½Π½Ρ‹Ρ… снова ΠΈ снова. Π’ΡƒΡ‚ Ρ‚ΠΎ ΠΈ Π²ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² силу Ρ†ΠΈΠΊΠ»Ρ‹. Благодаря ΠΈΠΌ становится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ максимально ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ вопрос. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эти структуры!

Как Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ n-Π½ΠΎΠ΅ количСство Ρ€Π°Π·. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ссли Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Python range. Ѐункция range создаст список Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π² Β«nΒ» элСмСнтов. Π’ Python вСрсии 2.Π₯ сущСствуСт другая функция ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ xrange, которая являСтся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ чисСл ΠΈ Π½Π΅ такая рСсурсоСмкая, ΠΊΠ°ΠΊ range. Π Π°Π½Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смСнили xrange Π½Π° range Π² Python 3. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Python

print(range(5)) # ΠΎΡ‚Π²Π΅Ρ‚: range(0, 5)

print(range(5)) # ΠΎΡ‚Π²Π΅Ρ‚: range(0, 5)

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

Python

a = range(5, 10) print(a) # range(5, 10) b = list(range(1, 10, 2)) print(b) # [1, 3, 5, 7, 9]

a = range(5, 10)

print(a) # range(5, 10)

Β 

b = list(range(1, 10, 2))

print(b) # [1, 3, 5, 7, 9]

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

Python

for number in range(5): print(number)

for number in range(5):

Β Β Β Β print(number)

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

Python

for number in [0, 1, 2, 3, 4]: print(number)

for number in [0, 1, 2, 3, 4]:

Β Β Β Β print(number)

Ѐункция range лишь Π΄Π΅Π»Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ нСсколько мСньшим. Π¦ΠΈΠΊΠ» for ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ любой ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Python. ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со списком. Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ со словарСм.

Python

a_dict = {«one»:1, «two»:2, «three»:3} for key in a_dict: print(key)

a_dict = {«one»:1, «two»:2, «three»:3}

Β 

for key in a_dict:

Β Β Β Β print(key)

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

Python

a_dict = {1:»one», 2:»two», 3:»three»} keys = a_dict.keys() keys = sorted(keys) for key in keys: print(key)

1

2

3

4

5

6

a_dict = {1:»one», 2:»two», 3:»three»}

keys = a_dict.keys()

Β 

keys = sorted(keys)

for key in keys:

Β Β Β Β print(key)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Python

1 2 3

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

Python

for number in range(10): if number % 2 == 0: print(number)

for number in range(10):

Β Β Β Β if number % 2 == 0:

Β Β Β Β Β Β Β Β print(number)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Python

0 2 4 6 8

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

Π•ΡΡ‚ΡŒ вопросы ΠΏΠΎ Python?

На нашСм Ρ„ΠΎΡ€ΡƒΠΌΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ любой вопрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ всСго нашСго сообщСства!

Python Π€ΠΎΡ€ΡƒΠΌ ΠŸΠΎΠΌΠΎΡ‰ΠΈ

Telegram Π§Π°Ρ‚ & Канал

ВступитС Π² наш Π΄Ρ€ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‡Π°Ρ‚ ΠΏΠΎ Python ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π΅Π΄ΠΈΠ½ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ большого сообщСства!

Паблик VK

Одно ΠΈΠ· самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сообщСств ΠΏΠΎ Python Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Π’Πš. Π’ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ для вас!

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ

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

Python

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

i = 0

while i < 10:

Β Β Β Β print(i)

Β Β Β Β i = i + 1

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

Python

while i < 10: print(i) if i == 5: break i += 1

1

2

3

4

5

6

7

while i < 10:

Β Β Β Β print(i)

Β Β Β Β 

Β Β Β Β if i == 5:

Β Β Β Β Β Β Β Β break

Β Β Β Β 

Β Β Β Β i += 1

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

Python

i = 0 while i < 10: if i == 3: i += 1 continue print(i) if i == 5: break i += 1

1

2

3

4

5

6

7

8

9

10

11

12

i = 0

Β 

while i < 10:

Β Β Β Β if i == 3:

Β Β Β Β Β Β Β Β i += 1

Β Β Β Β Β Β Β Β continue

Β Β Β Β 

Β Β Β Β print(i)

Β Β Β Β if i == 5:

Β Β Β Β Β Β Β Β break

Β Β Β Β 

Β Β Β Β i += 1

Π‘Π»Π΅Π³ΠΊΠ° Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ? ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ условноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ провСряСт, Π½Π΅ равняСтся Π»ΠΈ i Ρ‚Ρ€Π΅ΠΌ. Если Π΄Π°, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄Π°Ρ‡Π½ΠΎ пропускаСт Π²Ρ‹Π²ΠΎΠ΄ значСния 3 Π½Π° экран. Как ΠΈ Ρ€Π°Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ достигаСм значСния 5, ΠΌΡ‹ Ρ€Π°Π·Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ». БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ‚Π΅ΠΌΠ°, ΠΊΠ°ΡΠ°ΡŽΡ‰Π°ΡΡΡ Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΡŒ – это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ else ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else Π² Ρ†ΠΈΠΊΠ»Π°Ρ… выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ†ΠΈΠΊΠ» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Главная Π·Π°Π΄Π°Ρ‡Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else, это поиск ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

Python

my_list = [1, 2, 3, 4, 5] for i in my_list: if i == 3: print(«Item found!») break print(i) else: print(«Item not found!»)

1

2

3

4

5

6

7

8

9

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

Β 

for i in my_list:

Β Β Β Β if i == 3:

Β Β Β Β Β Β Β Β print(«Item found!»)

Β Β Β Β Β Β Β Β break

Β Β Β Β print(i)

else:

Β Β Β Β print(«Item not found!»)

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

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ

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

Vasile Buldumac

Являюсь администратором Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ² ΠΏΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ языков программирования Python, Golang ΠΈ Kotlin. Π’ составС нСбольшой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ², ΠΌΡ‹ занимаСмся популяризациСй языков программирования Π½Π° Ρ€ΡƒΡΡΠΊΠΎΡΠ·Ρ‹Ρ‡Π½ΡƒΡŽ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ статСй Π±Ρ‹Π»Π° Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π°ΠΌΠΈ Π½Π° русский язык ΠΈ распространяСтся бСсплатно.

E-mail: [email protected]

ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
Universitatea Tehnică a Moldovei (utm.md)

  • 2014 β€” 2018 ВСхничСский УнивСрситСт ΠœΠΎΠ»Π΄ΠΎΠ²Ρ‹, ИВ-Π˜Π½ΠΆΠ΅Π½Π΅Ρ€. Π’Π΅ΠΌΠ° Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ «Автоматизация ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ тСхничСский Π°Π½Π°Π»ΠΈΠ·Β»
  • 2018 β€” 2020 ВСхничСский УнивСрситСт ΠœΠΎΠ»Π΄ΠΎΠ²Ρ‹, ΠœΠ°Π³ΠΈΡΡ‚Ρ€, ΠœΠ°Π³ΠΈΡΡ‚Π΅Ρ€ΡΠΊΠ°Ρ диссСртация Β«Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² кибСрпространствС ΠΏΠΎ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π»ΠΈΡ†Π°Β»

Ρ†ΠΈΠΊΠ»ΠΎΠ² Python β€” Javatpoint

ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ β†’ ← прСдыдущая

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹ доступны Π² Python для удовлСтворСния потрСбностСй Ρ†ΠΈΠΊΠ»ΠΎΠ². Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ 3 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° запуска Ρ†ΠΈΠΊΠ»ΠΎΠ². Базовая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°, хотя синтаксис ΠΈ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условия, Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ.

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

Π’ языкС программирования Python доступны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ².

Π‘Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ НазваниС ΠΏΠ΅Ρ‚Π»ΠΈ Π’ΠΈΠΏ ΠΏΠ΅Ρ‚Π»ΠΈ ΠΈ описаниС
1 Пока Ρ†ΠΈΠΊΠ» ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΠΎΠΊΠ° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ условиС ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TRUE. Он провСряСт условиС ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°.
2 Для ΠΏΠ΅Ρ‚Π»ΠΈ Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Ρ†ΠΈΠΊΠ»Π° выполняСт Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° нСсколько Ρ€Π°Π· ΠΈ сокращаСт ΠΊΠΎΠ΄, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π°.
3 Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ управлСния Ρ†ΠΈΠΊΠ»ΠΎΠΌ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для управлСния Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈ измСнСния Ρ…ΠΎΠ΄Π° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС Π² локальной области Ρ†ΠΈΠΊΠ»Π°, ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ выполнСния.

Python прСдоставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ управлСния. ΠœΡ‹ обсудим ΠΈΡ… ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ быстро пробСТимся ΠΏΠΎ опрСдСлСниям этих ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² управлСния Ρ†ΠΈΠΊΠ»ΠΎΠΌ.

Π‘Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ Имя ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° управлСния ОписаниС
1 ЗаявлСниС ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π΅ Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π·Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ.
2 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ продолТСния Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° пропускаСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ continue, Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python достигаСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° continue.
3 ЗаявлСниС ΠΎ пропускС ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ pass ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ синтаксичСски Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, Π½ΠΎ ΠΊΠΎΠ΄ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

Π¦ΠΈΠΊΠ» for

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

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

для значСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ: {Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°}

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

Π¦ΠΈΠΊΠ» повторяСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнут послСдний элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ» for # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ собой Π½Π°Π±ΠΎΡ€ чисСл числа = [4, 2, 6, 7, 3, 5, 8, 10, 6, 1, 9, 2] # пСрСмСнная для хранСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° числа ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ = 0 # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого списка ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹ = [] # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° for для значСния Π² Ρ†ΠΈΡ„Ρ€Π°Ρ…: ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ** 2 Squares. append(ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚) print(«Π‘писок ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ», ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹)

Π’Ρ‹Π²ΠΎΠ΄:

 Бписок ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² [16, 4, 36, 49, 9, 25, 64, 100, 36, 1, 81, 4]
 

ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Ρ†ΠΈΠΊΠ» for выполняСт Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнут элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ записываСтся сразу послС выполнСния Ρ†ΠΈΠΊΠ»Π° for послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° for.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else вступаСт Π² дСйствиС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ. Он Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, Ссли ΠΌΡ‹ Π²Ρ‹ΠΉΠ΄Π΅ΠΌ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка.

Π’ΠΎΡ‚ ΠΊΠΎΠ΄ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² if-else.

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ if-else строка = «Ρ†ΠΈΠΊΠ» Python» # Запуск Ρ†ΠΈΠΊΠ»Π° для s Π² строкС: # Π·Π°Π΄Π°Π΅ΠΌ условиС Π² Π±Π»ΠΎΠΊΠ΅ if Ссли с == «ΠΎ»: print(«Π•сли Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ») # Ссли условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Ρ‚ΠΎ ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊ Π΅Ρ‰Π΅: ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ(ΠΈ)

Π’Ρ‹Π²ΠΎΠ΄:

 Π 
Ρƒ
Ρ‚
час
Если Π±Π»ΠΎΠΊ
Π½

Π»
Если Π±Π»ΠΎΠΊ
Если Π±Π»ΠΎΠΊ
ΠΏ
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ else с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for.

Бинтаксис:

для значСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ: # выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ исчСрпаны Π΅Ρ‰Π΅: # выполняСт эти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π° for

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ_ = (3, 4, 6, 8, 9, 2, 3, 8, 9, 7) # Запуск Ρ†ΠΈΠΊΠ»Π° для значСния Π² tuple_: Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ % 2 != 0: ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) # прСдоставлСниС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else Π΅Ρ‰Π΅: print(«Π­Ρ‚ΠΎ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅»)

Π’Ρ‹Π²ΠΎΠ΄:

 3
9
3
9
7
Π­Ρ‚ΠΎ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅
 

Ѐункция range()

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range() ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ΅Ρ€ΠΈΡŽ чисСл. range(10) Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ значСния ΠΎΡ‚ 0 Π΄ΠΎ 9. (10 Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ²).

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ значСния Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° шага Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ способов (Π½Π°Ρ‡Π°Π»ΠΎ, останов, Ρ€Π°Π·ΠΌΠ΅Ρ€ шага). Если Ρ€Π°Π·ΠΌΠ΅Ρ€ шага Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ Ρ€Π°Π²Π΅Π½ 1.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ создаСт ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ «содСрТит», послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΅Π³ΠΎ создадим, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉΒ». Он прСдоставляСт дСйствия in, len ΠΈ __getitem__, Π½ΠΎ Π½Π΅ являСтся ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ пояснит это.

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range() ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (15)) Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (список (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (15))) Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (список (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (4, 9))) Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (список (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (5, 25, 4)))

Π’Ρ‹Π²ΠΎΠ΄:

 Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (0, 15)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[4, 5, 6, 7, 8]
[5, 9, 13, 17, 21]
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ элСмСнтов, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ range() Π² Ρ†ΠΈΠΊΠ»Π°Ρ… for. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, комбинируя Π΅Π΅ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ len() ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ΠΎΡ‚ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ.

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСксации tuple_ = («Python», «Π¦ΠΈΠΊΠ»Ρ‹», «ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ», «Π£ΡΠ»ΠΎΠ²ΠΈΠ΅», «Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½») # ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ tuple_ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ range() для ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (len (tuple_)): ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠΎΡ€Ρ‚Π΅ΠΆ_[ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€].upper())

Π’Ρ‹Π²ΠΎΠ΄:

 ПИВОН
ΠŸΠ•Π’Π›Π˜
ΠŸΠžΠ‘Π›Π•Π”ΠžΠ’ΠΠ’Π•Π›Π¬ΠΠžΠ‘Π’Π¬
Π‘ΠžΠ‘Π’ΠžΠ―ΠΠ˜Π•
Π”Π˜ΠΠŸΠΠ—ΠžΠ
 

Пока Цикл

Π¦ΠΈΠΊΠ»Ρ‹ While ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Python для повторСния Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ условиС. Однако инструкция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, которая слСдуСт Π·Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ while, выполняСтся, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ условиС становится Π»ΠΎΠΆΠ½Ρ‹ΠΌ.

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

Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ : {Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°}

ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ кодирования, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° структурной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ. Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ количСства ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Python Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вмСстС с отступом.
Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» while счСтчик = 0 # Запуск Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎΠΊΠ° счСтчик

Π’Ρ‹Ρ…ΠΎΠ΄:

 ΠŸΠ΅Ρ‚Π»ΠΈ Python
ΠŸΠ΅Ρ‚Π»ΠΈ Python
ΠŸΠ΅Ρ‚Π»ΠΈ Python
ΠŸΠ΅Ρ‚Π»ΠΈ Python
 

ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ while

Как ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° for, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else с Ρ†ΠΈΠΊΠ»ΠΎΠΌ while. Он ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ синтаксис.

Код

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° #Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else с Ρ†ΠΈΠΊΠ»ΠΎΠΌ while счСтчик = 0 # ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ Ρ†ΠΈΠΊΠ» while ΠΏΠΎΠΊΠ° (счСтчик

Π’Ρ‹Π²ΠΎΠ΄:

 ΠŸΠ΅Ρ‚Π»ΠΈ Python
ΠŸΠ΅Ρ‚Π»ΠΈ Python
ΠŸΠ΅Ρ‚Π»ΠΈ Python
ΠŸΠ΅Ρ‚Π»ΠΈ Python
Π‘Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else
 

Один ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π‘Π»ΠΎΠΊ

Π¦ΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π±Π»ΠΎΠΊ if-else, Π³Π΄Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΠΎΠ΄Π½Ρƒ строку.

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎ врСмя Ρ†ΠΈΠΊΠ»Π° счСтчик = 0 ΠΏΠΎΠΊΠ° (счСт

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ управлСния Ρ†ΠΈΠΊΠ»ΠΎΠΌ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ обсудим ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ управлСния Ρ†ΠΈΠΊΠ»ΠΎΠΌ. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

ЗаявлСниС ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°.

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ continue # Запуск Ρ†ΠΈΠΊΠ»Π° для строки Π² «Python Loops»: Ссли строка == «o» ΠΈΠ»ΠΈ строка == «p» ΠΈΠ»ΠΈ строка == «t»: ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ print(‘Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ письмо:’, строка)

Π’Ρ‹Π²ΠΎΠ΄:

 ВСкущая Π±ΡƒΠΊΠ²Π°: P
ВСкущая Π±ΡƒΠΊΠ²Π°: Ρƒ
ВСкущая Π±ΡƒΠΊΠ²Π°: h
ВСкущая Π±ΡƒΠΊΠ²Π°: n
Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ письмо:
ВСкущая Π±ΡƒΠΊΠ²Π°: Π›
ВСкущая Π±ΡƒΠΊΠ²Π°: с
 

ЗаявлСниС ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π΅

ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈ достиТСнии ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° break.

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ break # Запуск Ρ†ΠΈΠΊΠ»Π° для строки Π² «Python Loops»: Ссли строка == ‘L’: ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ print(‘Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ письмо:’, строка)

Π’Ρ‹Π²ΠΎΠ΄:

 ВСкущая Π±ΡƒΠΊΠ²Π°: P
ВСкущая Π±ΡƒΠΊΠ²Π°: Ρƒ
ВСкущая Π±ΡƒΠΊΠ²Π°: Ρ‚
ВСкущая Π±ΡƒΠΊΠ²Π°: h
Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ письмо: ΠΎ
ВСкущая Π±ΡƒΠΊΠ²Π°: n
Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ письмо:
 

ЗаявлСниС ΠΎ пропускС

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Pass

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания пустых Ρ†ΠΈΠΊΠ»ΠΎΠ². ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Pass Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для классов, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ пустых ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Код

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ pass для строки Π² «Python Loops»: проходят print(‘ПослСдняя Π±ΡƒΠΊΠ²Π°:’, строка)

Π’Ρ‹Π²ΠΎΠ΄:

 ПослСдняя Π±ΡƒΠΊΠ²Π°: с
 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π΅ΠΌΠ°Python For Loop

← прСдыдущая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ β†’

Как ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΠ· ΠΊΠΎΠ΄Π° Python | by Youssef Hosni

Π₯отя использованиС Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Python Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ являСтся ΠΏΠ»ΠΎΡ…ΠΈΠΌ шаблоном проСктирования, использованиС посторонних Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСэффСктивным ΠΈ дорогостоящим. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ Π² нашСм ΠΊΠΎΠ΄Π΅. Python поставляСтся с нСсколькими шаблонами Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ содСрТимому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

  • Π¦ΠΈΠΊΠ»Ρ‹ for ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ частям.
  • Π¦ΠΈΠΊΠ»Ρ‹ While Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ†ΠΈΠΊΠ» ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, ΠΏΠΎΠΊΠ° выполняСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ логичСскоС условиС.
  • Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ нСсколько Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΠ΄ΠΈΠ½ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

Π₯отя всС эти ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Python, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ остороТны ΠΏΡ€ΠΈ ΠΈΡ… использовании. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ частям, ΠΎΠ½ΠΈ часто ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСэффСктивными Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ.

ΠŸΡ€ΠΈ написании эффСктивного ΠΊΠΎΠ΄Π° ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ максимально ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ². УстранСниС Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ количСства строк ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³Ρ‡Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Одна ΠΈΠ· ΠΈΠ΄ΠΈΠΎΠΌ питоничСского ΠΊΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Β«9Плоский 0026 Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Β». Π‘Ρ‚Ρ€Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ Π² нашСм ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этой ΠΈΠ΄ΠΈΠΎΠΌΠ΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ обсудим ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ нСсколько простых способов ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ эффСктивнСС.

Π€ΠΎΡ‚ΠΎ Priscilla Du Preez Π½Π° Unsplash
  1. Git Π˜Π·Π±Π°Π²ΡŒΡ‚Π΅ΡΡŒ ΠΎΡ‚ ΠΏΠ΅Ρ‚Π΅Π»ΡŒ
    1.1. УстранСниС Ρ†ΠΈΠΊΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ понимания списка, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ отобраТСния ΠΈ инструмСнтов itertools
    1.2. УстранСниС Ρ†ΠΈΠΊΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy
  2. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ написания Ρ†ΠΈΠΊΠ»ΠΎΠ²
    2.1. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ вычислСний Π½Π°Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ
    2.2. ЦСлостныС прСобразования

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π² этом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub:

GitHub β€” youssefHosni/Advanced-Python-Programming-Tutorials-

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это дСйствиС Π² настоящСС врСмя . Π’Ρ‹ вошли Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎ. Π’Ρ‹ Π²Ρ‹ΡˆΠ»ΠΈ ΠΈΠ· систСмы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ или…

github.com

1.1. УстранСниС Ρ†ΠΈΠΊΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ понимания списков, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ инструмСнтов itertools

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ список списков, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ poke_stats, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит статистичСскиС значСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π°. КаТдая строка соотвСтствуСт ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Ρƒ, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ столбСц соотвСтствуСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ статистичСскому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π°. Π—Π΄Π΅ΡΡŒ столбцы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΡ‡ΠΊΠΈ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ, Π°Ρ‚Π°ΠΊΡƒ, Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π°. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ сумму ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих строк, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ статистику для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π°. Если Π±Ρ‹ ΠΌΡ‹ использовали Ρ†ΠΈΠΊΠ» для вычислСния сумм строк, Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ сумму строки Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ список. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мСньшСго количСства строк ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списка. Или ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ обсуТдали Ρ€Π°Π½Π΅Π΅ Π² ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ 9.0026 ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ эффСктивный ΠΊΠΎΠ΄ Python для спСциалистов ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ: ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ эффСктивности ΠΊΠΎΠ΄Π° .

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ массив статистики:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ пройдСмся ΠΏΠΎ элСмСнтам этого массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ» for, ΠΈ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ врСмя:

ΠœΡ‹ сдСлаСм Ρ‚ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ списка:

НаконСц, ΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ элСмСнты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ :

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ список, Π½ΠΎ использованиС понимания списка ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ строку ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ быстроС врСмя выполнСния.

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

1.2. УстранСниС Ρ†ΠΈΠΊΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ NumPy

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ эффСктивный ΠΌΠ΅Ρ‚ΠΎΠ΄ устранСния Ρ†ΠΈΠΊΠ»ΠΎΠ² β€” использованиС ΠΏΠ°ΠΊΠ΅Ρ‚Π° NumPy. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ статистики, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π½ΠΎ ΠΎΠ½ хранится Π² массивС NumPy, Π° Π½Π΅ Π² спискС списков.

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ статистики для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π° (ΠΈΠ»ΠΈ строки) Π² нашСм массивС. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° массива ΠΈ сбора срСдних Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ строк.

Но массивы NumPy ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ вычислСния сразу Π½Π°Π΄ Ρ†Π΅Π»Ρ‹ΠΌΠΈ массивами. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ .mean ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ось, Ρ€Π°Π²Π½ΡƒΡŽ 1, для вычислСния срСднСго значСния для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки (это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ вычисляСм срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ значСниям столбца). Π­Ρ‚ΠΎ устраняСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ эффСктивнСС.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ врСмя ΠΎΠ±ΠΎΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с ΠΊΠΎΠ΄ΠΎΠΌ Π½ΠΈΠΆΠ΅:

ΠŸΡ€ΠΈ сравнСнии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .mean для всСго массива ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ оси Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Ρ‡Π΅ΠΌ использованиС Ρ†ΠΈΠΊΠ»Π°.

ΠœΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ дорогостоящими ΠΈ нСэффСктивными. Но ΠΈΠ½ΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ‚Π»ΡŽ. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ Π±ΠΎΠ»Π΅Π΅ эффСктивными, ΠΊΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Ρ‹. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ обсудим, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ устранСны с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², описанных Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ…. Π’ дСмонстрационных цСлях ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ здСсь Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования β€” это случаи, ΠΊΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ΅Π½.

Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° β€” ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ дСлаСтся Π² Ρ†ΠΈΠΊΠ»Π΅. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Если вычислСниС выполняСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°, Π½ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ мСняСтся с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, Π»ΡƒΡ‡ΡˆΠ΅ всСго пСрСнСсти это вычислСниС Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ (ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅) Ρ†ΠΈΠΊΠ»Π°. Если Ρ†ΠΈΠΊΠ» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π²Π½Π΅ (ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅) Ρ†ΠΈΠΊΠ»Π° с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сопоставлСния. ВсС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ†ΠΈΠΊΠ»Π°. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

2.1. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ вычислСний Π½Π°Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ

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

ΠΠ΅ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ этого Ρ†ΠΈΠΊΠ»Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пСрСмСнная total_attack_avg создаСтся ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°. Но этот расчСт Π½Π΅ мСняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ итСрациями, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΎΠ±Ρ‰Π΅Π΅ срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Нам Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ это вычислСниС Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ (ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅) Ρ†ΠΈΠΊΠ»Π°, ΠΌΡ‹ вычисляСм ΠΎΠ±Ρ‰Π΅Π΅ срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Π°ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½ΠΎ это Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

Π‘Ρ€Π°Π²Π½ΠΈΠΌ врСмя выполнСния ΠΎΠ±ΠΎΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ»Π΅ вычислСния total_attack_avg Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 120 микросСкунд.

2.2. ЦСлостныС прСобразования

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ² β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ цСлостныС прСобразования Π²Π½Π΅ (ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅) Ρ†ΠΈΠΊΠ»Π°. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ списка ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… 720 PokΓ©mon: список ΠΈΠΌΠ΅Π½ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π°, список, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΌΡƒ, ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½ Π»Π΅Π³Π΅Π½Π΄Π°Ρ€Π½Ρ‹ΠΉ статус, ΠΈ список ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π°.

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ имя, статус ΠΈ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ спискС. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ zip. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, zip Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² список, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список списков Π² качСствС нашСго Π²Ρ‹Π²ΠΎΠ΄Π°. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ добавляСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ poke_list Π² Π½Π°ΡˆΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ poke_data. РаспСчатав Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ искомый список списков.

Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ запустим Ρ†ΠΈΠΊΠ» ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΈ посмотрим Π½Π° врСмя:

Однако ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² список Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ эффСктивно . ВмСсто этого ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС наши poke_tuples вмСстС ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ°Ρ€Ρ‚Ρ‹ для прСобразования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² список. Π¦ΠΈΠΊΠ» большС Π½Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² списки ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. ВмСсто этого ΠΌΡ‹ пСрСмСстили этот ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π² список конвСрсий Π²Π½Π΅ (ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅) Ρ†ΠΈΠΊΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ всС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… сразу (ΠΈΠ»ΠΈ цСлостно), Π° Π½Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Π‘Ρ€Π΅Π΄Π° выполнСния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² список Π²Π½Π΅ Ρ†ΠΈΠΊΠ»Π° Π±ΠΎΠ»Π΅Π΅ эффСктивно.

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

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

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