```python # Фильтрация элементов по типу: def filter_list(list_to_filter, value_type): filtered_list = [] for element in list_to_filter: if type(element) == value_type: filtered_list.append(element) # Not recomended! Because bool is subclass of int ! # if isinstance(element, value_type): # filtered_list.append(element) return filtered_list print(filter_list([35, True, 'abc', 10], int)) print(filter_list([35, True, 'abc', 10], str)) print(filter_list([35, True, 'abc', 10], bool)) ########################################################### # Сокращенный FOR: all_nums = [-3, 1, 0, 10, -20, 5] absolute_nums = [abs(num) for num in all_nums] print(absolute_nums) print(all_nums) #----------------- all_nums = [-3, 1, 0, 10, -20, 5] positive_nums = [num for num in all_nums if num > 0] # positive_nums = [] # for num in all_nums: # if num > 0: # positive_nums.append(num) print(positive_nums) print(all_nums) #----------------- my_set = {1, 10, 15} new_set = {val * val for val in my_set} print(new_set) print(my_set) #----------------- my_scores = { 'a': 10, 'b': 7, 'm': 14 } scores = {k: v * 10 for k, v in my_scores.items()} # scores = {} # for key, value in my_scores.items(): # scores[key] = value * 10 print(scores) print(my_scores) #----------------- my_scores = [10, 7, 14] scores = {index: elem * 2 for index, elem in enumerate(my_scores)} print(scores) #----------------- # my_motorbike = { # 'brand': 'bmw', # 'country': 'germany', # 'owner': 'vlapa' # } # bike = {k: v.upper() for k, v in my_motorbike.items()} my_motorbike = ['BMW', 'Germany', 'Vlapa'] bike = [el for el in my_motorbike if len(el) > 3] print(bike) print(my_motorbike) ########################################################### while True: try: num_one = float(input("Please enter number one: ")) num_two = float(input("Please enter number two: ")) except ValueError as e: print(e) print("You must enter numbers!") continue print(num_one / num_two) answer = input("Do you want to continue? (yes/no): ") if answer == 'no': break ``` 1️⃣ **Цикл** for Используется для перебора элементов в итерируемых объектах (списки, строки, множества, кортежи, словари, генераторы и т. д.). **Пример 1: Перебор списка** fruits = ["яблоко", "банан", "вишня"] for fruit in fruits:     print(fruit) **Пример 2:** for **с** range() for i in range(5):  # От 0 до 4     print(i) **Пример 3: Перебор словаря** person = {"имя": "Алиса", "возраст": 25} for key, value in person.items():     print(f"{key}: {value}") 2️⃣ **Цикл** while Выполняется **до тех пор, пока условие истинно.** **Пример:** x = 5 while x > 0:     print(f"x = {x}")     x -= 1  # Уменьшаем x 🗣️ Используйте for когда заранее известно количество итераций, и while когда не известно. 🖥 **Циклы. Управление потоком** 1️⃣ break – прерывает выполнение цикла. 2️⃣ continue – пропускает текущую итерацию и переходит к следующей. 3️⃣ pass – заглушка, ничего не делает (используется, когда код еще не написан). **Примеры:** # break – выход из цикла при достижении 5 for i in range(10):     if i == 5:         break     print(i)  # Выведет 0,1,2,3,4 # continue – пропускает 5 for i in range(7):     if i == 5:         continue     print(i)  # Выведет 0,1,2,3,4,6 # pass – заглушка for i in range(3):     pass  # Код пока не написан 🖥 **Использование** else **в циклах** else в цикле выполняется, если цикл завершился естественным образом (без break и return). **Пример 1:** for **...** else for i in range(3):     print(i) else:     print("Цикл завершился без break") 0 1 2 # Цикл завершился без break **Пример 2:** while **...** else x = 3 while x > 0:     print(x)     x -= 1 else:     print("Цикл while завершен") 3 2 1 # Цикл while завершен **Пример 3: проверка вхождения в список** def contains(num, numbers):     for n in numbers:         if n == num:             return True     else:         return False print(contains(3, [1,2,3,4,5])) # True print(contains(3, [1,2,4,5])) # False **Пример 4: определение простого числа** def is_prime_number(num):     for i in range(2, int(num ** 0.5) + 1):         if num % i == 0:             print(f"{num} не простое число")             break     else:         print(f"{num} — простое число") is_prime_number(17) # 17 — простое число is_prime_number(16) # 16 не простое число 🗣️ Если нет break и return, else всегда сработает, и его можно просто вынести за пределы цикла.