На уроке рассматривается алгоритм работы с различными видами циклов на языке Питон (Python): цикл с предусловием While и цикл со счетчиком For. Объясняется возможность генерации в Python случайных чисел
Цикл WHILE
Цикл while — цикл с предусловием. Пример использования:
| i = 5 while i < 15: print(i) i = i + 2 # вывод 5 7 9 11 13 |
Еще пример:
| i = 0 while i < 100: i += 1 print(i) # 100 |
КОММЕНТАРИИ В PYTHON
Однострочный комментарий начинается с #.
Блочный комментарий можно использовать так (строго говоря, блочного комментария нет в Питоне):
| #Однострочные Питон комментарии # Это # блочный или многострочный # комментарий |
| »’ тоже блочный комментарий »’ |
ОПЕРАТОРЫ BREAK И CONTINUE
Оператор break — выход из цикла
Оператор continue — выход из текущей итерации цикла
Задание: Определить, что выведет программа:
| a=0 while a!=10: a=a+1 if a==5: continue print (a) if a==7: break print («всё!») |
Пример: Написать программу для игры: Загадывается число (использовать функцию random). Пользователю предлагается угадать число. Если пользователь не угадывает, то ему предлагается угадать число снова и выдается подсказка, что число больше или меньше введенного. Так бесконечно, пока пользователь не введет слово exit. Бесконечный цикл организовать через while True: .
✍ Решение:
import random
number = random.randint(0, 100)
while True:
answer = input('Угадай число: ')
if answer == "" or answer == "exit":
print("Выход из программы")
break
if not answer.isdigit():
print("Введи правильное число")
continue
answer = int(answer)
if answer == number:
print('Верно!')
break
elif answer > number:
print('Загаданное число больше')
else:
print('Загаданное число меньше')
Задание Python 2_1: Последовательно вводятся ненулевые числа. Определить сумму положительных и сумму отрицательных чисел. Закончить ввод чисел при вводе 0. Для перевода из строки в целое число, использовать функцию int().
Пример вывода:
Введите числа: -5 7 8 -2 0 сумма положительных: 15, сумма отрицательных: -7
Задание Python 2_2: При помощи цикла распечатать ряд Фибоначчи: 1 1 2 3 5 8 13 21.Задание Python 2_3: Запрашиваются 10 чисел (целые значения от 0 до 1000). Опишите алгоритм, позволяющий найти и вывести минимальное значение среди введенных чисел, которые имеют чётное значение и не делятся на три.
Пример вывода:
Введите числа: 5 7 8 22 9 12 15 0 2 3 результат: 2
Цикл FOR
В Python цикл for имеет такой синтаксис:
Пример:
| for i in range(3): print(i) # 0 # 1 # 2 |
Пример с двумя параметрами:
| for i in range(5, 8): print(i) # 5 # 6 # 7 |
Пример:
Вывести степени двойки с 1-й по 10-ю.
✍ Решение:
| for x in range(1,11): print ( 2**x ) # 2 4 8 16 … 1024 |
Шаг счетчика цикла можно менять:
| for x in range(1,11,2): print ( 2**x ) |
Отрицательный шаг:
| for i in range(10, 7, -1): print(i) # 10 # 9 # 8 |
Еще пример работы:
| for i in ‘hello world’: if i == ‘o’: continue print(i, end=») # hell wrld |
Пример использования break:
| for i in ‘hello world’: if i == ‘l’: break print(i, end=») # he |
Задание: Определить, что выведет программа:
| a=0 n=10 for i in range(1,n+1,2): a=a+1 if a==5: continue print (a) if a==7: break print («всё!») |
Задание Python 2_4: Составить программу для вычисления среднего арифметического N произвольных вводимых чисел.
Пример вывода:
Введите количество чисел: 6 Введите числа: -5 4 12 9 7 2 результат: 4,83
СЛУЧАЙНОЕ ЧИСЛО
В Python случайное число задается с помощью двух функций:
- random() – случайное вещественное из полуинтервала [0,1) ;
- randint(a,b) – случайное целое из отрезка [a,b].
Но для использования функция необходимо предварительно подключить библиотеку:
| # подключение библиотеки: from random import randint # получение целого случайного числа в диапазоне от 1 до 10 x = randint(1,11) # получение вещественного случайного числа в полуинтервале от 5 до 11 from random import random x = 6*random() + 5 |
Задание Python 2_5: Исправить предыдущее задание (2_4) для работы со случайными числами.Задание Python 2_6:
Найдите все трёхзначные и четырёхзначные числа Армстронга.Число Армстронга. Числом Армстронга считается натуральное число, сумма цифр которого, возведенных в N-ную степень (N – количество цифр в числе) равна самому числу.
Например, 153 = 13 + 53 + 33.Задание Python 2_7:
Напишите программу, которая запрашивает натуральное число N и выводит на экран все автоморфные числа, не превосходящие N.Автоморфным называется натуральное число, если оно равно последним цифрам своего квадрата. Например, 252 = 625.
Цикл for in при работе с кортежами (тип данных)
Пример: Вывести на экран цвета радуги с их порядковыми номерами:
1-й цвет радуги - это красный ...
✍ Решение:
| i = 1 for color in ‘красный’, ‘оранжевый’, ‘желтый’, ‘зеленый’, ‘голубой’, ‘синий’, ‘фиолетовый’: print(i,’-й цвет радуги — это ‘, color) i += 1 |
Другой вариант работы со счетчиком цикла:
| for i in 1,2,3,’one’,’two’,’three’: print(i) |
При первых трех итерациях цикла переменная i будет принимать значение типа int, при последующих трех — типа str.
Еще примеры:
| name = «Ivan» for letter in name: print(letter) # I # v # a # n |
Задание Python 2_8: Распечатывать дни недели с их порядковыми номерами. Кроме того, рядом выводить выходной ли это день или рабочий. Использовать кортеж.
1-й день недели - понедельник, рабочий день ...

