Question: Explain for Loops in Python including syntax, iteration over ranges and strings, and the use of continue and break keywords.
**For Loops in Python**
1. **Introduction to For Loops**
- For Loops execute a block of code a fixed number of times.
- Can iterate over any iterable: range, string, sequence.
- Better than while loops when the number of iterations is fixed.
2. **Basic Syntax and Counting Up**
- Syntax: for x in range(start, stop):
- The stop number is exclusive; to count to 10, use range(1, 11).
- Indent the code block to repeat.
- Example: counting from 1 to 10 printing each number.
3. **Counting Backwards**
- Use reversed(range(start, stop)) to count down.
- Example: count backwards from 10 to 1.
- After the loop, print "Happy New Year" outside the loop block.
4. **Step Parameter in range()**
- Add a third parameter for step size, e.g., range(1, 11, 2) counts by twos: 1, 3, 5, 7, 9.
- Changing step to 3 counts by threes: 1, 4, 7, 10.
5. **Iterating Over Strings**
- For loops can iterate over strings character by character.
- Example: iterate over a credit card number string and print each character.
6. **Keywords: continue and break**
- continue: skips the current iteration.
- break: exits the loop entirely.
- Example with continue: skip printing the number 13 when counting 1 to 20.
- Example with break: stop counting once 13 is reached.
7. **Summary**
- For Loops are versatile for fixed iteration tasks.
- Use while loops for potentially infinite or unknown iteration counts.
- For Loops can iterate over any iterable, including ranges, strings, and sequences.
- continue and break enhance loop control.