Модуль 4.1 (Знакомство с циклом while). В этом разделе мы познакомимся с еще новой конструкцией языка программирования — циклом. Цикл, как и условный оператор, являются важной частью структурного программирования.
Ниже представлены примеры задач с решением на тему Знакомство с циклом while
Сколько раз программа ниже напечатает фразу «I can do it» ?
t = 3 while
t < 9:
print(‘I can do it’)
t += 1
6
Сколько раз программа ниже напечатает фразу «Yes you can» ?
t = 1 while
t < 5:
print(‘Yes you can’)
t -= 1
Много раз, примерно бесконечно
Посчитайте какое значение будет принимать переменная alpha после выполнения данного кода ?
alpha = 3
while alpha <= 24:
alpha *= 2
48
Посчитайте какое значение будет принимать переменная z после выполнения данного кода ?
k = 10 z = 0
while k <= 14:
z = z + k
k += 1
60
Напишите программу, которая распечатает все натуральные числа от 1000 до 2000 включительно.
Каждое число следует выводить на отдельной строчке как в примере ниже
k = 1000 while k <= 2000: print(k) k += 1
Напишите программу, которая распечатает все натуральные числа кратные 5 от 195 до 6785 включительно в порядке убывания.
Каждое число следует выводить на отдельной строчке как в примере ниже
n = 6785 while n != 190: print(n) n -= 5
Мишка Лимак хочет стать самым большим медведем, ну, или хотя бы стать больше своего старшего брата Боба.
Сейчас вес Лимака равен a, а вес Боба равен b. Гарантируется, что вес Лимака меньше или равен весу Боба.
Лимак ест много, и его вес утраивается каждый год, а вес Боба удваивается каждый год.
Через сколько целых лет Лимак станет строго больше (т. е. будет весить строго больше) Боба?
l,b = map(int,input().split()) year = 0 # Пока вес лима будет меньше веса боба бежим по циклу и вычисляем их вес # Один цикл это один год while l <= b: l = l * 3 b = b * 2 year += 1 print(year)
Японцы считают цифру «4» очень несчастливой, они даже исключают ее из нумерации этажей
Давайте и мы, от греха подальше, избавимся от этой цифры в списке numbers. Ваша задача удалить все упоминания цифры «4» в списке numbers и затем вывести список при помощи команды
numbers = [2, 3, 7, 9, 5, 0, 6, 3, 6, 0, 1, 7, 9, 4, 4, 4, 2, 2, 6, 9, 1, 7, 0, 3, 8, 1, 0, 3, 8, 0, 8, 4, 0, 2, 3, 6, 6, 1, 5, 8, 7, 2, 3, 8, 7, 7, 1, 2, 2, 8, 4, 3, 4, 8, 0, 7, 9, 8, 3, 7, 7, 7, 7, 5, 1, 7, 4, 5, 0, 8, 0, 9, 2, 4, 7, 6, 6, 5, 9, 7, 1, 7, 8, 8, 3, 4, 9, 7, 6, 4, 2, 0, 0, 0, 9, 4, 0, 9, 4, 4, 4, 5, 5, 4, 2, 5, 9, 4, 8, 1, 5, 7, 1, 0, 2, 6, 8, 7, 2, 7, 9, 3, 6, 4, 7, 5, 0, 7, 2, 0, 8, 2, 9, 8, 6, 4, 4, 7, 5, 5, 9, 4, 9, 5, 6, 9, 1, 1, 3, 1, 5, 2, 1, 7, 0, 0, 7, 8, 1, 3, 0, 0, 4, 4, 3, 3, 6, 7, 8, 6, 1, 2, 0, 2, 0, 9, 9, 0, 5, 2, 4, 1, 7, 4, 9, 9, 4, 9, 6, 9, 2, 7, 1, 2, 4, 5, 4, 0, 9, 0] # здесь должен быть ваш код while 4 in numbers: numbers.remove(4) # здесь должен быть ваш код print(*numbers)
На вход программе поступает слово. Вам необходимо воспроизвести процесс, в котором каждый раз у этого слово будет пропадать первая и последняя буква. Этот процесс необходимо закончить, когда в слове останется только одна буква или слово станет пустой строкой. При этом результат каждого этапа нужно выводить
s = input() print(s) # Пока длина больше 1 уменьшаем переменную s на 1 символ с обоих сторон while len(s)>1: s = s[1:-1] print(s)
Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N.
Задано единственное целое число N
Необходимо вывести все точные квадраты натуральных чисел, не превосходящие данного числа N.
a=int(input()) b=1 # Возводим b в квадрат если он меньше а то печатаем while b**2<=a: print(b**2) b=b+1
В первый день спортсмен пробежал X километров. В каждый последующий день он увеличивал пробег на 15% от предыдущего дня. Вам необходимо определить номер дня, в который пробег спортсмена составил не менее Y километров. Само число Y будем поступать на вход программе.
Xkm,Ykm=map(float,input().split()) days = 1 while Xkm<=Ykm: Xkm = Xkm + Xkm*0.15 # Получаем сколько пробежал в следующий день +15% days = days + 1 # Увеличиваем счетчик дней print (days)
У Васи есть n пар носков. Утром каждого дня, собираясь в школу, Вася должен надеть пару носков. Вечером, прийдя со школы, Вася снимает надетые носки и выбрасывает их. Каждый m-й день (в дни с номерами m, 2m, 3m, …) мама покупает Васе одну пару носков. Она делает это поздно вечером, поэтому Вася может надеть новые носки не раньше следующего дня. На сколько подряд идущих дней Васе хватит носков?
socks,socksM=map(int,input().split()) # ввод данных в одной строке # Каждый день минус 1 носок, каждый M день 1 носок добавляется, на сколько дней хватит носков? days = 0 # Цикл работает пока кол-во носков больше нуля while socks > 0: socks = socks - 1 # Сколько носков осталось, отнимаем по одному каждый день. days = days + 1 # Увеличиваем счетчик дней if days % socksM == 0: # Проверка, что настал М день, т.е. надо добавлять +1 носок от мамы socks = socks + 1 # Увеличиваем кол-во носков на 1 (носок от мамы) print (days)
Программист Василий любит романтику — поэтому на этот Новый Год он решил освещать свою комнату свечами.
У Василия есть a свечей. Когда Василий зажигает новую свечу, сначала она горит ровно один час, а затем тухнет. Василий — сообразительный малый, поэтому из b потухших свечей он умеет получать одну новую свечу. В последствии эту новую свечу (так же как и другие новые свечи) можно зажечь.
Теперь Василию интересно, на сколько часов освещения хватит его свечек, если он будет действовать оптимальным образом. Помогите ему найти это число.
a, b = map(int, input().split()) hour = 0 burn = 0 while a > 0: a -= 1 # Горит одна свеча hour += 1 # Прибавляем 1 час burn += 1 # Добавляем в запас 1 сгоревшую свечу if burn % b == 0: # Если нам хватает запаса сгоревших свечей a += 1 # Создаем 1 новую свечу burn = 0 # Обнуляем наш запас сгоревших свечей print(hour)
В архитектуре компьютера важную роль играют числа, являющиеся степенями двойки: 1, 2, 4, 8 и так далее. Напишите программу, которая проверяет, является ли введённое натуральное число степенью двойки. Если да, то выводится сама эта степень; если нет, выводится «НЕТ»
a = int(input()) counter = 0 while a >= 2: a -= 2 ** counter counter += 1 print(counter if a == 1 else 'НЕТ')
Возьмём число. Умножим его на его же первую цифру. Результат умножим на первую цифру результата. И так далее. Например, начнём с 8:
8 → 8*8=64
64 → 6*64=384
384 → 3*384 =1152
1152 → 1*1152 =1152Очевидно, когда первая цифра очередного числа в такой последовательности становится равной 1, числа перестают изменяться. Но это происходит не при всех начальных числах.
Напишем программу, которая будет хотя бы приблизительно определять судьбу введённого числа n.
Начиная с числа n, умножайте имеющееся число на его первую цифру, пока у получившегося числа первая цифра не станет равной 1, либо пока оно не превысит миллиарда. В качестве ответа выведите результат
n = input() # В цикле умножаем имеющееся число на его первую цифру, # Пока у получившегося числа первая цифра не станет равной 1, либо пока оно не превысит миллиарда. while int(n[0])!=1 and int(n)<10**9: n = int(n[0])*int(n) n = str(n) print(n)
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы