summaryrefslogtreecommitdiff
path: root/PYTHON/FOR, WHILE.md
diff options
context:
space:
mode:
authorvlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
committervlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
commite5abc1fe99340b979b18864d978179f71fe8f5c5 (patch)
tree98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /PYTHON/FOR, WHILE.md
First
Diffstat (limited to 'PYTHON/FOR, WHILE.md')
-rw-r--r--PYTHON/FOR, WHILE.md227
1 files changed, 227 insertions, 0 deletions
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