3.2.1.2 Циклы в Python | while продолжение
Создана 29.04.2023
Отредактирована 20.05.2023
Отредактирована 20.05.2023
Donate for site my friends.
https://www.donationalerts.com/r/nocip
Цикл while: другие примеры
Давайте посмотрим на другой пример, использующий цикл while. Следите за комментариями, чтобы узнать идею и решение.
# Программа, считывающая последовательность чисел
# и считает, сколько чисел четных и сколько нечетных.
# Программа завершается при вводе нуля.
odd_numbers = 0
even_numbers = 0
# Введите первое число.
number = int(input("Введите число или введите 0, чтобы остановить цикл: "))
# 0 прекращает выполнение.
while number != 0:
# Проверьте, нечетное ли число.
if number % 2 == 1:
# Увеличьте счетчик odd_numbers.
odd_numbers += 1
else:
# Увеличьте счетчик even_numbers.
even_numbers += 1
# Прочтите следующий номер.
number = int(input("Введите число или введите 0, чтобы остановить: "))
# Вывести результат.
print("Количество нечетных чисел:", odd_numbers)
print("Количество четные чисел:", even_numbers)
Некоторые выражения можно упростить без изменения поведения программы.
Попытайтесь вспомнить, как Python интерпретирует истинность условия, и обратите внимание, что эти две формы эквивалентны:
while number != 0: and while number:
Условие, которое проверяет, является ли число нечетным, также может быть закодировано в этих эквивалентных формах:
if number % 2 == 1: and if number % 2:
Давайте посмотрим на другой пример, использующий цикл while. Следите за комментариями, чтобы узнать идею и решение.
# Программа, считывающая последовательность чисел
# и считает, сколько чисел четных и сколько нечетных.
# Программа завершается при вводе нуля.
odd_numbers = 0
even_numbers = 0
# Введите первое число.
number = int(input("Введите число или введите 0, чтобы остановить цикл: "))
# 0 прекращает выполнение.
while number != 0:
# Проверьте, нечетное ли число.
if number % 2 == 1:
# Увеличьте счетчик odd_numbers.
odd_numbers += 1
else:
# Увеличьте счетчик even_numbers.
even_numbers += 1
# Прочтите следующий номер.
number = int(input("Введите число или введите 0, чтобы остановить: "))
# Вывести результат.
print("Количество нечетных чисел:", odd_numbers)
print("Количество четные чисел:", even_numbers)
Некоторые выражения можно упростить без изменения поведения программы.
Попытайтесь вспомнить, как Python интерпретирует истинность условия, и обратите внимание, что эти две формы эквивалентны:
while number != 0: and while number:
Условие, которое проверяет, является ли число нечетным, также может быть закодировано в этих эквивалентных формах:
if number % 2 == 1: and if number % 2:
Использование переменной счетчика для выхода из цикла
Посмотрите на фрагмент ниже:
counter = 5
while counter != 0:
print("Inside the loop.", counter)
counter -= 1
print("Outside the loop.", counter)
Этот код предназначен для печати строки "Inside the loop.". и значение, сохраненное в переменной counter во время данного цикла ровно пять раз. Как только условие не было выполнено (переменная counter достигла 0), цикл завершается, и появляется сообщение "Outside the loop.". а также значение, хранящееся в счетчике, печатается.
Но есть одна вещь, которую можно записать более компактно - условие цикла while.
Вы видите разницу?
counter = 5
while counter:
print("Inside the loop.", counter)
counter -= 1
print("Outside the loop.", counter)
Он компактнее, чем раньше? Немного. Он более разборчивый? Это спорно.
ПОМНИТЬ
Не чувствуйте себя обязанным кодировать свои программы таким образом, чтобы он всегда был самым коротким и компактным. Читаемость может быть более важным фактором. Держите свой код готовым для нового программиста.
««« Назад | Вперед »»» |