Python Урок 2. Работа с циклами

Поділитись

На уроке рассматривается алгоритм работы с различными видами циклов на языке Питон (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

цикл while на питоне

Оператор 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

оператор цикла 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-й день недели - понедельник, рабочий день
...

Поділитись