Определите число которое напечатает программа

Цикл while (“пока”) позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.

Синтаксис цикла while в простейшем случае выглядит так:

while условие: блок инструкций

При выполнении цикла while сначала проверяется условие. Если оно ложно, то выполнение цикла прекращается и управление передается на следующую инструкцию после тела цикла while . Если условие истинно, то выполняется инструкция, после чего условие проверяется снова и снова выполняется инструкция. Так продолжается до тех пор, пока условие будет истинно. Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции после цикла.

Например, следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10. Видно, что цикл while может заменять цикл for . in range(. ) :

Демонстрационный вариант ЕГЭ по информатике 2021, ФИПИ, задание 6, при каком наименьшем значении


i = 1 while i

В этом примере переменная i внутри цикла изменяется от 1 до 10. Такая переменная, значение которой меняется с каждым новым проходом цикла, называется счетчиком. Заметим, что после выполнения этого фрагмента значение переменной i будет равно 11 , поскольку именно при i == 11 условие i

Вот еще один пример использования цикла while для определения количества цифр натурального числа n :

5678
n = int(input()) length = 0 while n > 0: n //= 10 # это эквивалентно n = n // 10 length += 1 print(length)

В этом цикле мы отбрасываем по одной цифре числа, начиная с конца, что эквивалентно целочисленному делению на 10 ( n //= 10 ), при этом считаем в переменной length , сколько раз это было сделано.

В языке Питон есть и другой способ решения этой задачи: .

Читайте также:
Как узнать какие драйвера установлены программа

2. Инструкции управления циклом

После тела цикла можно написать слово else: и после него блок операций, который будет выполнен один раз после окончания цикла, когда проверяемое условие станет неверно:

i = 1 while i

Казалось бы, никакого смысла в этом нет, ведь эту же инструкцию можно просто написать после окончания цикла. Смысл появляется только вместе с инструкцией break . Если во время выполнения Питон встречает инструкцию break внутри цикла, то он сразу же прекращает выполнение этого цикла и выходит из него. При этом ветка else исполняться не будет. Разумеется, инструкцию break осмыленно вызывать только внутри инструкции if , то есть она должна выполняться только при выполнении какого-то особенного условия.

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

3 6 -1 4 0
a = int(input()) while a != 0: if a < 0: print(‘Встретилось отрицательное число’, a) break a = int(input()) else: print(‘Ни одного отрицательного числа не встретилось’)

Во втором варианте программы сначала на вход подается количество элементов последовательности, а затем и сами элементы. В таком случае удобно воспользоваться циклом for . Цикл for также может иметь ветку else и содержать инструкции break внутри себя.

Задание 22 | ЕГЭ по информатике | ДЕМО-2023


3 6 2 4
n = int(input()) for i in range(n): a = int(input()) if a < 0: print(‘Встретилось отрицательное число’, a) break else: print(‘Ни одного отрицательного числа не встретилось’)

Другая инструкция управления циклом — continue (продолжение цикла). Если эта инструкция встречается где-то посередине цикла, то пропускаются все оставшиеся инструкции до конца цикла, и исполнение цикла продолжается со следующей итерации.

Если инструкции break и continue содержатся внутри нескольких вложенных циклов, то они влияют лишь на исполнение самого внутреннего цикла. Вот не самый интеллектуальный пример, который это демонстрирует:

Читайте также:
Сбис программа для сдачи отчетности как работать

for i in range(3): for j in range(5): if j > i: break print(i, j)

Увлечение инструкциями break и continue не поощряется, если можно обойтись без их использования. Вот типичный пример плохого использования инструкции break (данный код считает количество знаков в числе).

n = int(input()) length = 0 while True: length += 1 n //= 10 if n == 0: break print(‘Длина числа равна’, length)
Гораздо лучше переписать этот цикл так:
n = int(input()) length = 0 while n != 0: length += 1 n //= 10 print(‘Длина числа равна’, length)
Впрочем, на Питоне можно предложить и более изящное решение:
n = int(input()) print(‘Длина числа равна’, len(str(n)))

3. Множественное присваивание

В Питоне можно за одну инструкцию присваивания изменять значение сразу нескольких переменных. Делается это так:

a, b = 0, 1
Этот код можно записать и так:
a = 0 b = 1

Отличие двух способов состоит в том, что множественное присваивание в первом способе меняет значение двух переменных одновременно.

Если слева от знака «=» в множественном присваивании должны стоять через запятую имена переменных, то справа могут стоять произвольные выражения, разделённые запятыми. Главное, чтобы слева и справа от знака присваивания было одинаковое число элементов.

Множественное присваивание удобно использовать, когда нужно обменять значения двух переменных. В обычных языках программирования без использования специальных функций это делается так:

a = 1 b = 2 tmp = a a = b b = tmp print(a, b) # 2 1
В Питоне то же действие записывается в одну строчку:
a = 1 b = 2 a, b = b, a print(a, b) # 2 1

Источник: pythontutor.ru

Определите число которое напечатает программа

Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.

Алгоритмический язык

DIM S, N AS INTEGER S = 0 N = 40 WHILE S + N < 100 S = S + 20 N = N — 5 WEND PRINT S

Проверить ответ

Показать разбор и ответ

Указание:

Определите, как изменится сумма при каждом выполнении тела цикла.

Решение:

При каждом выполнении тела цикла сумма увеличивается на . До цикла эта сумма равна , значит, после четырёх выполнений цикла она станет равна и цикл завершится. При этом четыре раза увеличится на и станет равно .

Читайте также:
В какой программе лучше рисовать аниме арты

Это задание составили эксперты «СтатГрада» для Яндекса

Источник: yandex.ru

найти числа, оканчивающиеся на 5

Я пытаюсь распечатать все числа от 1 до 100, которые заканчиваются на 5. Вот что у меня есть:

for i in range (1, 100): if (i/10) == 5: print(i)

Почему это распечатывает 50?

kachilous 23 Июн 2011 в 02:45

4 ответа

Лучший ответ

Вы хотите использовать модуль % вместо деления. Модуло получает остаток.

for i in range (1, 100): if (i % 10) == 5: print(i)
FinalForm 22 Июн 2011 в 22:47

Потому что 50/10 — это 5. Что вы действительно хотите, вероятно, это:

for i in range(100): if i % 10 == 5: print i

% — это операция по модулю, которая дает остаток от целочисленного деления двух чисел.

jena 22 Июн 2011 в 22:49

Это отличный способ познакомиться с itertools

Из оболочки IPython:

In [5]: import itertools In [6]: fives = itertools.count(start=5, step=10) In [7]: fives.next() Out[7]: 5 In [8]: fives.next() Out[8]: 15 In [9]: fives.next() Out[9]: 25 In [10]: fives.next() Out[10]: 35 In [11]: fives = itertools.count(start=5, step=10) In [12]: tmp = itertools.takewhile(lambda x: x In [14]: list(tmp) Out[14]: [5, 15, 25, 35, 45, 55, 65, 75, 85, 95]

Это также забавный урок истории, потому что списочные постижения и генераторы в Python имеют много общего с их мотивирующими предками из Haskell. Найдите на этой странице бесконечные списки, чтобы понять, что я имею в виду: (ссылка).

ely 18 Окт 2012 в 13:23

Зачем вообще проверять значения? Просто создайте те, которые вы хотите в первую очередь.

for i in range(5, 101, 10): print (i)

Источник: question-it.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru