/
sejeenn
/
python_basic
Обзор
Документация
Войти
/
sejeenn
/
python_basic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Module26/01_num_squares/main.py
37 строк
1 KB
Eugene Vorontsov
Copy repo python basic
03 фев 2025, 20:23
03 фев 2025, 20:23
a8fce4a
Код
Авторство
О чём код?
class MyIterator: """Класс-итератор""" def __init__(self, number_max: int) -> None: self.start = 0 self.stop = number_max def __iter__(self): return self def __next__(self) -> int: self.start += 1 if self.start < self.stop: return self.start ** 2 raise StopIteration def generator(max_num): """Функция-генератор""" for nums in range(1, max_num + 1): yield nums ** 2 number = int(input('Введите число N: ')) print('Квадраты чисел от 1 до N (класс-итератор):', end=' ') for iter_square in MyIterator(number + 1): print(iter_square, end=' ') print('\nКвадраты чисел от 1 до N (функция-генератор):', end=' ') gen_square = generator(number) for square in gen_square: print(square, end=' ') print('\nКвадраты чисел от 1 до N (генераторное выражение):', end=' ') gen_expression = (var ** 2 for var in range(1, number + 1)) for expression_square in gen_expression: print(expression_square, end=' ')