""" Урок 16. Цикл for — весь код примеров одним файлом. Источник: subjects/python-fundamentals/course/lessons/16-for-loop/examples.html Файл собран автоматически (tools/build_lesson_examples.py): правьте страницу урока. Запуск: python lesson-16.py """ # ==================================================================== # Пример 1: Счётчик с range # ==================================================================== n = 5 # в интерактивной версии: int(input("Enter n: ")) for i in range(1, n + 1): print(i) # ==================================================================== # Пример 2: Факториал числа # ==================================================================== n = 5 # в интерактивной версии: int(input("Enter n: ")) factorial = 1 for i in range(1, n + 1): factorial *= i print(f"Факториал числа {n} равен {factorial}") # ==================================================================== # Пример 3: Сумма цифр числа # ==================================================================== number = "12345" # в интерактивной версии: input("Enter a number: ") digit_sum = 0 for digit in number: digit_sum += int(digit) print(f"Sum of digits: {digit_sum}") # ==================================================================== # Пример 4: Подсчёт гласных в строке # ==================================================================== text = "Programming".lower() # в интерактивной версии: input("Enter text: ").lower() vowels = "aeiou" count = 0 for letter in text: if letter in vowels: count += 1 print(f"Vowels: {count}") # ==================================================================== # Пример 5: Буквы и цифры в строке (★ дополнительное) # ==================================================================== text = "Python 3.12" # в интерактивной версии: input("Enter string: ") letters = 0 digits = 0 for char in text: if char.isalpha(): letters += 1 elif char.isdigit(): digits += 1 print(f"Букв: {letters}") print(f"Цифр: {digits}") # ==================================================================== # Пример 6: Разные варианты range # ==================================================================== # Even numbers from 0 to 10 for i in range(0, 11, 2): print(i, end=" ") print() # Countdown from 10 to 1 for i in range(10, 0, -1): print(i, end=" ") print() # Negative range for i in range(-3, 4): print(i, end=" ") print() # ==================================================================== # Пример 7: break и continue в одном цикле # ==================================================================== for i in range(1, 11): if i == 3: continue # skip 3 if i == 7: break # stop before 7 print(i, end=" ") # Output: 1 2 4 5 6 # ==================================================================== # Пример 8: Простое число (for/else) # ==================================================================== def is_prime(number): if number < 2: return False for divisor in range(2, number): if number % divisor == 0: return False else: return True for candidate in (11, 12): # в интерактивной версии: int(input("Enter number: ")) if is_prime(candidate): print(f"{candidate} является простым") else: print(f"{candidate} не является простым") # ==================================================================== # Пример 9: Поиск символа с for/else # ==================================================================== text = "Python" # в интерактивной версии: input("Enter text: ") for target in ("h", "z"): # в интерактивной версии: input("Enter character to find: ") for letter in text: if letter == target: print(f"Found '{target}'") break else: print(f"'{target}' not found") # ==================================================================== # Пример 10: Вложенные циклы — таблица умножения и прямоугольник # ==================================================================== n = 4 # в интерактивной версии: int(input("Enter n: ")) for i in range(1, n + 1): for j in range(1, n + 1): print(f"{i * j:4}", end="") print() width, height = 5, 3 # в интерактивной версии: int(input(...)) для каждого значения for row in range(height): for col in range(width): print("*", end="") print() # ==================================================================== # Пример 11: Комбинация while и for # ==================================================================== current_hour = 22 # в интерактивной версии: int(input("Enter current hour: ")) hours_to_show = 2 end_hour = current_hour + hours_to_show while current_hour < 24 and current_hour < end_hour: for minute in range(60): print(f"{current_hour}:{minute:02d}") current_hour += 1 # ==================================================================== # Пример 12: Индекс и элемент через enumerate # ==================================================================== words = ["apple", "banana", "cherry"] for index, word in enumerate(words, start=1): print(f"{index}. {word}") # Output: # 1. apple # 2. banana # 3. cherry