basic doc : loops and operators

This commit is contained in:
2026-01-18 00:35:28 +03:30
parent 0ad6b39765
commit b57a8b8855
2 changed files with 195 additions and 0 deletions

122
Docs/Basic/03-loops.md Normal file
View File

@@ -0,0 +1,122 @@
### **1. Looping Through a List**
```python
list = [1, 2, 3, 5, 9, 'abbas']
for item in list:
print(f'Item In List: {item}')
```
**Explanation:**
- A `list` is a collection of items in Python, enclosed in square brackets `[]`.
- The `for` loop iterates over each element in the list.
- `item` is a variable that takes the value of each element in the list one by one.
- `print(f'Item In List: {item}')` uses an f-string to display the current item.
**Output:**
```
Item In List: 1
Item In List: 2
Item In List: 3
Item In List: 5
Item In List: 9
Item In List: abbas
```
---
### **2. Looping Through a String**
```python
string = "abbas gholi"
for char_string in string:
print(char_string)
```
**Explanation:**
- A `string` is a sequence of characters.
- The `for` loop iterates over each character in the string.
- `char_string` is a variable that holds each character in turn.
- Each character is printed on a new line.
**Output:**
```
a
b
b
a
s
g
h
o
l
i
```
---
### **3. Looping Through a Dictionary**
```python
price = {
"oil": 500000,
"egg": 350000,
"frute": {
"apple": 100000,
"orange": 120000
}
}
```
This is a dictionary with:
- Keys: `"oil"`, `"egg"`, `"frute"`
- Values: numbers and another dictionary
#### **Method 1: Looping Over Keys**
```python
for name in price:
print(name, price[name])
```
**Explanation:**
- `for name in price` iterates over the keys of the dictionary.
- `price[name]` retrieves the value corresponding to the key.
- Prints each key and its value.
**Output:**
```
oil 500000
egg 350000
frute {'apple': 100000, 'orange': 120000}
```
#### **Method 2: Using `.items()`**
```python
for name, pr in price.items():
print(name, pr)
```
**Explanation:**
- `.items()` returns key-value pairs as tuples.
- `name, pr` unpacks each tuple into two variables.
- More efficient and readable than accessing `price[name]`.
**Output:**
```
oil 500000
egg 350000
frute {'apple': 100000, 'orange': 120000}
```
---
### **Summary**
| Concept | Description |
|----------------|-------------|
| **List** | Ordered collection of items. Use `for item in list` to iterate. |
| **String** | Sequence of characters. Use `for char in string` to access each character. |
| **Dictionary** | Key-value pairs. Use `for key in dict` or `for key, value in dict.items()` to loop. |

View File

@@ -0,0 +1,73 @@
### **1. `for` Loop with `range()`**
```python
for i in range(2, 20, 1):
print(f"i : {i}", end=" End \n")
```
- **`range(start, stop, step)`**: Generates a sequence of numbers starting from `start` (inclusive), up to `stop` (exclusive), increasing by `step`.
- `range(2, 20, 1)` → numbers from 2 to 19 (inclusive), step 1.
- **`for` loop**: Iterates over each number in the range.
- **`print(f"i : {i}", end=" End \n")`**:
- `f-string`: Formats the output with the current value of `i`.
- `end=" End \n"`: Replaces the default newline (`\n`) with `" End "` followed by a newline.
- **Output**: Prints each number with `" End "` at the end of each line.
---
### **2. Looping Through a List Using Index and `enumerate()`**
```python
list = ['abbas', 'mmd', 2006]
for key in range(len(list)):
value = list[key]
print(key, value)
```
- **`len(list)`**: Returns the number of elements in the list (3).
- **`range(len(list))`**: Creates numbers `0, 1, 2` (indices of the list).
- **`list[key]`**: Accesses the element at index `key`.
- **Output**: Prints index and value pair for each element.
---
```python
for key, value in enumerate(list):
print(key, value)
```
- **`enumerate(list)`**: Returns pairs of `(index, value)` for each element.
- **`key, value`**: Unpacks each pair into two variables.
- **Output**: Same as above, but more concise and Pythonic.
> ✅ **Best Practice**: Use `enumerate()` instead of `range(len())` for cleaner code.
---
### **3. `zip()` Function Pairing Two Lists**
```python
name = ['egg', 'oil']
price = [370000, 500000]
for final in zip(name, price):
print(final)
```
- **`zip(list1, list2)`**: Combines two lists element-wise into tuples.
- `zip(['egg', 'oil'], [370000, 500000])``[('egg', 370000), ('oil', 500000)]`
- **`for final in zip(...)`**: Iterates over each tuple.
- **Output**: Prints each pair as a tuple.
> ✅ Use `zip()` when you need to process multiple lists in parallel.
---
### Summary of Key Concepts:
| Concept | Purpose |
|----------------|--------|
| `range(start, stop, step)` | Generate a sequence of numbers |
| `for` loop | Iterate over a sequence |
| `len(list)` | Get number of elements |
| `enumerate()` | Get index and value in a loop |
| `zip()` | Combine two or more lists element-wise |