воскресенье, 26 апреля 2020 г.

Цикл с параметром. 8 класс

Цикл с параметром

Ещё называют - цикл с заданным числом повторений
Применяют в тех случаях, когда тело цикла (многократно повторяющиеся подряд команды) необходимо повторять столько разсколько выбранный параметр будет принимать значение каждого элемента из составного объекта - структуры.
В общем виде, цикл с параметром можно представить в следуюещем виде:
In [ ]:
for параметр in структура:  # Для параметра выбираются значения в структуре
    тело цикла            # Для каждого значения повторяется тело цикла
Параметр в Python - это имя, которое дается для каждого объекта структуры, при очередном прохождение тела цикла.

Структуры (составные объекты):

  • Перечисление объектов через запятую
    Например, среди чисел 5,6,7,2,9, найти сумму для кратных 3-м:
In [1]:
сумма = 0
for число in 5, 6, 7, 2, 9:  # число - параметр; 5,6,7,2,9 - структура
    if число%3 == 0:
        сумма = сумма + число
print(сумма)
15
  • Арифметическая прогрессия целых чисел range(b,r,s). Это оследовательность целых от b до r (не включая r), с шагом s.
    Например, среди чисел 5,10,15,...,100 (то есть, от 5 до 100 с шагом 5), найти сумму для кратных 3-м:
In [2]:
сумма = 0
for число in range(5, 101, 5):
    if число%3 == 0:
        сумма = сумма + число
print(сумма)
315
  • Cтроки символов. Например, найти количество гласных в веденном английском тексте:
In [4]:
k = 0
for ltr in input('Введите текст: '): # ltr - параметр; input - структура
    if ltr in 'aeiouy':
        k = k+1
print('В тексте', k ,'гласных')
Введите текст: Hello, Word!
В тексте 3 гласных
  • Неизменямые последовательности tuple, например: ("раз",2,3,3)
  • Изменяемые списки list, например: ["раз",2,3,3]
  • Неповторяющиеся множества set , например: {"раз",2,3}
  • Словари соответветсвий dict, например: {1:"раз", 2:"два", 3:"три"}
Задача. Сколько букв из первого слова, есть во втором.
In [5]:
x = input()        # вводим первое слово
y = input()        # вводим второе слово
k = 0              # начальное значение количество вхождений
for ltr in set(x): # для каждого уникального символа 1-го слова
    if ltr in y:   # проверяем - есть ли во 2-м
        k = k+1    # если - да, то увеличиваем k на 1
print(k)           # после завершения цикла выводим k
мама
математика
2

Пустой параметр

  • Если в теле цикла, пареметр не используется. Обозначается - "__" (два подчеркивания).
Задача: напишите программу, которая в последовательности натуральных чисел определяет количество чисел, оканчивающихся на 9. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 9.
In [7]:
k = 0
for __ in range(int(input())):
    if int(input()) % 10 == 9:
        k = k+1
print(k)
3
19
29
24
2
Эту задачу мы уже решали с помощью цикла while. Любой цикл по переменной можно заменить на равносильный цикл с условием: вместо вызова функции range придётся задать отдельно начальное значение переменной цикла, условие продолжения цикла и правило изменения переменной цикла.
Однако не любой цикл с условием может быть переписан как цикл с переменной. Если количество повторений цикла неизвестно и не может быть найдено заранее (как в задаче с вычислением суммы цифр числа), цикл по переменной использовать не удаётся.

Задания

  • Ответе на вопросы задания №9. Сколько раз будет выполнен цикл?
    • а) for i in range (15): s += l
    • б) for i in range (10, 15): s += l
    • в) for i in range (-1, 1): s += l
    • г) for i in range (1, 1): s += l
    • д) k=5
      for i in range (k - l, k + 1): s += l
  • Выполните задания в №12. Напишите программу, которая вычисляет сумму:
    • а) первых n натуральных чисел;
    • б) квадратов первых n натуральных чисел;
    • в) всех чётных чисел в диапазоне от 1 до n;
    • г) всех двузначных чисел.
In [ ]:
 

Комментариев нет:

Отправить комментарий

AI