Цикл

Цикл - это многократное выполнение одного и то же действия. Цикл может повторяться 1, 10, 100 раз, или бесконечно, или пока выполняется какое то условие.

В Python цикл while - выполняется пока условие true. Синтаксис while <условие>: . Основное применение while - когда неизвестно сколько повторений нужно.


# Повторение N-количество раз
i = 0
while i < 7:
	print(i) # вывод значения переменной i
	i += 1 # увеличение значения переменной i на единицу

# Бесконечное повторение
while True:
	print('Это будет выводиться бесконечно')

# Повторение по условию
# пока пользователь не введет 12
n = 0
while n != 12:
	n = int(input('Введите число: '))
	print(f'Вы ввели {n}, для выхода введите 12')

Оператор break

С помощью оператора break можно прервать цикл в любой момент.



command = ''
while True:
	command = int(input('Для выхода введите q '))
	print(f'Вы ввели {n}')
	if command == 'q':
		break # break прерывает выполнение цикла

Оператор continue

Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла


i = 0
while i < 5:
    i += 1
    if i % 2 == 1: # если значение i нечетно, то вызываем оператор continue
        continue # оператор continue переходит к след.проходу
    # в случае вызова continue код ниже не выполнится
    print(i)

Оператор else

Слово else, примененное в цикле for или while проверяет, был ли выход из цикла из-за break. Если выход из цикл был произведен break, то команды в else не будут выполнены. Else будут выполнены только, если цикл завершился самостоятельно.


for i in 'hello world':
	if i == 'a':
		break # если найдется "а" выполнится break
else:
	print('Буквы a в строке нет') # если цикл завершился самостоятельно


x = ''
while x == 'Q':
	print('Y - завершить раньше времени.')
	print('Q - завершить цикл нормально.')

	x = input('Введите команду: ')
	if x == 'Y':
		break
else:
	print('Цикл завершен раньше времени')

print('Программа дальше')


Пример

  1. Игра угадай число.

    Программа загадывает число от 1 до 10, ваша задача угадать его. После победы программа покажет количество попыток. Для выхода из игры нужно ввести 666.

    
    
     from random import randint
    
     random_num = randint(1, 10)
     in_num = 0
     counter = 0
    
     print('Загадано число от 1 до 10, ваша цель угадать его.')
     print('Для выхода введите 666 ')
     while in_num != random_num:
         counter += 1
         in_num = int(input('Введите число: '))
         if in_num == 666:
             break
     else:
         print(f'Поздравляем, Вы, выиграли. Количество попыток {counter}, ')
    
     print('До свидание')
    
    
     
  2. Число от A до B.

    Пользователь вводит два числа (гда А больше В). Вывести все числа от A до B включительно.

    
    
     A = int(input('Введите число A: '))
     B = int(input('Введите число B: '))
    
     while A >= B:
         print(A)
         A -= 1
     

Задачи

  1. Четные от A до B.

    Пользователь вводит числа A и B (A > B). Выведите четные числа от A до B включительно.

    
     # Ввод:
     >> 10
     >> 1
     # Вывод:
     >> 10
     >> 8
     >> 6
     >> 4
     >> 2
     
  2. Сумма чисел.

    Пользователь вводит числа до тех пор, пока не введет 0. Выведите сумму введенных чисел.

    
     # Ввод:
     >> 1
     >> 15
     >> 10
     >> 11
     >> 2
     >> 0
     # Вывод:
     >> Сумма равна: 39
     
  3. Максимум.

    Пользователь вводит числа до тех пор, пока не введет 0. Выведите максимальное введенное число.

    
     # Ввод:
     >> 1
     >> 15
     >> 10
     >> 11
     >> 2
     >> 0
     # Вывод:
     >> Максимум равен: 15