В уроке мы узнаем:
Цикл - это команда, выполняющая указанные действия до тех пор, пока остаётся истинным логическое выражение (условие).
Цикл выполняет действие А до тех пор, пока истинно логическое выражение.
Цикл может быть запрограммирован с помощью оператора while. Конструкция цикла, похожа на условный оператор if.
Составить программу, проверяющую, является ли введённый номер карты покупателя выигрышным. Если номер — «45626», то напечатать: «Вы выиграли!». Иначе — напечатать: «Повезёт в другой раз!» и запросить повторный ввод номера.
card_number = int(input('Введите номер карты:'))
while card_number != 45626:
print('Повезёт в другой раз!')
card_number = int(input('Введите номер карты:'))
print('Вы выиграли!')
Короткая запись использования цикла while:
while input('Введите отзыв (off - завершить):') != 'off':
print('Спасибо за обратную связь!')
Составить программу, выводящую стоимость всех покупок со скидкой 10%. Программа запрашивает ввод покупок до тех пор, пока не введён «0». Затем выводится общая стоимость всех покупок со скидкой 10%.
price = int(input('Введите цену (0 - завершить):'))
total_price = 0
while price != 0:
total_price += price
price = int(input('Введите цену (0 - завершить):'))
print('Стоимость без скидки:', total_price)
total_price = total_price * 0.9
print('Стоимость со скидкой:', total_price)
Счётчик - это переменная в которой хранится число шагов цикла.
Используется для отслеживания текущего шага (итерации) выполнения цикла.
Составить программу, запрашивающую промокод и считающую количество предпринятых попыток. После ввода верного промокода «новый год» программа печатает: «Промокод засчитан с __ попытки» и завершает работу.
promo = input('Введите промокод:')
attempts = 1
while promo != 'новый год':
attempts += 1
print('Ошибка!')
promo = input('Введите промокод:')
print('Промокод засчитан с', attempts, 'попытки')
Где используется цикл for?
Перебор элементов последовательности — оператор in.
Повтор действий в теле цикла n-раз — функция range()
Цикл for — это цикл, перебирающий элементы конечной последовательности.
Последовательность — это упорядоченный набор элементов.
Шифрование пароля номером буквы в алфавите:
password = 'kitty'
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for symbol in password:
print(alphabet.find(symbol) + 1)
В логинах могут использоваться только буквы латинского алфавита и цифры. В них запрещены символы: =?*^$№@_,;:#%&. Программа должна запрашивать логин и печатать запрещённые символы, если они есть.
login = input('Введите логин:')
wrong = '=?*^$№@_'
for symbol in login:
if symbol in wrong:
print('Запрещённый символ:', symbol)
Цикл for может быть запрограммирован как цикл со счётчиком.
Т.к. for перебирает элементы последовательности, то для повтора действий n-раз цикл for должен перебрать числа в диапазоне 0 до n-1.
Для создания временного диапазона для цикла for используется функция range().
Функция range() — создаёт последовательность чисел в указанном диапазоне.
range(n) — создаёт последовательность чисел 0, 1, 2… n-1.
range(a, b) — создаёт последовательность чисел a, a+1, a+2… b-1.
Написать программу для создания группового чата. Количество человек вводится с клавиатуры. Затем по очереди вводятся имена пользователей, добавляемых в чат. В ответ на каждое имя печатается: «Добро пожаловать, имя!». После ввода всех имён выводится сообщение: «Групповой чат создан!»
amount = intinput('Число участников:')
for i in range(amount):
name = input('Введите имя:')
print('Добро пожаловать,', name)
print('Групповой чат создан!')
break — прерывает текущий цикл и продолжает выполнение следующих выражений.
Задача. Написать программу для раздела развлечений. При вводе «game» должна запускаться игра «Угадай число» (правильный ответ –– 5). Для ответа даётся три попытки. Если дан правильный ответ, то печатается: «Вы выиграли билет на концерт!». В игру можно сыграть любое число раз. При вводе «off» программа должна завершать работу.
action = input('Введите game - игра «Угадай число», off - завершить')
while action != 'off':
if action == 'game':
for i in range(3):
if input('Введите число') == '5':
print('Вы выиграли билет на концерт!')
break
action = input('Введите game - игра «Угадай число», off - завершить')