From e5abc1fe99340b979b18864d978179f71fe8f5c5 Mon Sep 17 00:00:00 2001 From: vlapa Date: Sat, 13 Jun 2026 20:33:26 +0300 Subject: First --- PYTHON/FOR, WHILE.md | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 PYTHON/FOR, WHILE.md (limited to 'PYTHON/FOR, WHILE.md') diff --git a/PYTHON/FOR, WHILE.md b/PYTHON/FOR, WHILE.md new file mode 100644 index 0000000..5bf423d --- /dev/null +++ b/PYTHON/FOR, WHILE.md @@ -0,0 +1,227 @@ +```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 всегда сработает, и его можно просто вынести за пределы цикла. \ No newline at end of file -- cgit v1.2.3