Day 16 / 30 - while Loops in Python What is a while Loop? A while loop keeps running its block of code as long as a condition is True. Unlike a for loop which runs a fixed number of times, a while loop runs an unknown number of times, it stops only when the condition becomes False. Perfect for situations where you don't know in advance how many repetitions you'll need. Syntax Breakdown while condition: # runs as long as condition is True # must update something to eventually make condition False while --> checks the condition before every single run condition --> any expression that evaluates to True or False How It Works, step by step Python checks the condition at the top of the loop If True --> it runs the indented block of code Goes back to the top and checks the condition again Keeps repeating until the condition becomes False When False --> exits the loop and continues the program for Loop vs while Loop for loop 1. Use when you know how many times to repeat 2. Looping over a list, range, sequence while loop 1. Use when you don't know how many times 2. Keep going until a condition changes The Infinite Loop -Most Common Mistake If your condition never becomes False, the loop runs forever, freezing your program. Always make sure something inside your loop changes the condition like incrementing a counter or taking user input so the loop can eventually stop. break and continue break - stops the loop immediately, exits even if the condition is still True continue → skips the current iteration and jumps back to the condition check Both break and continue work in for and while loops. Code Example # Count from 1 to 5 count = 1 while count <= 5: print("Count: " + str(count)) count = count + 1 # break — stop early number = 0 while number < 10: if number == 5: break # stops loop at 5 print(number) number += 1 Key Learnings ☑ A while loop runs as long as its condition is True , checks before every iteration ☑ Always update something inside the loop, counter, input, or flag or you'll get an infinite loop ☑ break exits the loop immediately when a condition is met ☑ continue skips the current iteration and jumps back to the condition check ☑ Use for when you know the count — use while when you don't Why It Matters While loops power real systems — PIN verification, login retry limits, game loops, servers waiting for requests. Anywhere your program needs to wait or keep trying until something changes, a while loop is the answer. My Takeaway A for loop is like a to-do list — you know how many items there are. A while loop is like waiting for a bus — you keep waiting until it arrives. Different tools, different situations. #30DaysOfPython #Python #LearnToCode #CodingJourney #WomenInTech
Python While Loops Explained
More Relevant Posts
-
Python functions with fixed signatures break the moment you need to forward arguments across abstraction boundaries. *args and **kwargs solve that — and this python tutorial goes well past the syntax. — How CPython actually handles variadic calls at the C level (PyTupleObject, PyDictObject, and why there's a real allocation cost) — Why a defaulted parameter before *args is effectively unreachable via positional calling — and the idiomatic fix — The difference between *args isolating the mapping vs sharing mutable values inside it — ParamSpec (PEP 612) for preserving decorator signatures through the type system — TypedDict + Unpack (PEP 692, Python 3.12) for per-key precision on **kwargs — inspect.Parameter.kind for reading variadic signatures at runtime — the foundation of FastAPI and pytest's dispatch logic — Lambda variadic syntax, functools.wraps, kwargs.setdefault patterns, and common SyntaxErrors caught at parse time Includes interactive quizzes, spot-the-bug challenges, a design decision review, and a 15-question final exam with a downloadable certificate of completion. Full guide: https://lnkd.in/gHkdvCn5 #Python #PythonProgramming #SoftwareDevelopment
To view or add a comment, sign in
-
yield is one of those Python keywords that looks simple until someone asks you to explain it. Most developers can tell you a function with yield in it produces values and works in for loops. Fewer can explain why that same function doesn't actually run when you call it. Turns out, that's the whole point. Generators (functions with yield) are functions that pause mid-execution and resume exactly where they left off: local variables, loop counters, everything intact. In my Python Context Managers series, I'm covering generators as a dedicated article because they are not a standalone concept. They are the engine behind @contextmanager, a cleaner way to build context managers in Python. You can't fully understand one without understanding the other. This article is a deep dive into generator functions: https://lnkd.in/dSNegaWK A function that remembers where it left off changes everything. #Python #SoftwareEngineering #Backend #Programming #WebDevelopment #BuildBreakLearn
To view or add a comment, sign in
-
Lambda functions are one of those Python features that look strange at first but become second nature once you understand when and why to use them. They are not meant to replace regular functions. They are meant to complement them — providing a clean, concise way to define simple operations right where you need them, without the overhead of a full function definition. Once you start seeing lambda in map(), filter(), sorted(), and pandas apply() and using it naturally yourself — your Python code becomes noticeably cleaner and more expressive. Start simple. Practice with sort keys and map() transformations. Then bring them into your data science workflow and watch how naturally they fit. Read the full post here: https://lnkd.in/ergQmrXP #Python #DataScience #Programming #Pandas #Analytics #DataEngineering
To view or add a comment, sign in
-
Most Python code works. That’s not the problem. The problem is - most of it doesn’t scale past the person who wrote it. You’ve probably seen code like this: • full of comments explaining what’s happening • try/finally blocks everywhere • repeated logic for caching, logging, auth • functions doing 5 things at once It works. Until it doesn’t. The shift that changed how I think about Python: 👉 Stop writing logic 👉 Start using language-level patterns Once you start seeing it this way: • with replaces cleanup logic • decorators replace repeated behavior • generators replace unnecessary data structures • dunder methods make your objects feel native The result? Code that explains itself without comments, removes entire classes of bugs, and actually scales across teams. I wrote a deep dive on this - not surface-level tips, but how these patterns actually work, when to use them, and how they reshape your code. 👉 Read the full article: https://lnkd.in/g_9GZDRk Curious — what’s one Python concept that only clicked after real-world experience? For me, it was realizing generators aren’t about syntax - they’re about thinking in streams instead of collections. #Python #CleanCode #SoftwareEngineering #ScalableSystems #DesignPatterns #AdvancedPython #BackendDevelopment
To view or add a comment, sign in
-
Modern Python tooling like ruff, pytest, mypy, black, py-spy, and pre-commit can help streamline your Python workflow, improve code quality, and catch bugs before deployment. My latest article on the Towards Data Science platform talks about all these tools and covers how to build a cleaner, faster feedback loop so you can spend less time fixing avoidable issues later and more time actually shipping. If you’re working in Python and want a more reliable development setup, this should be useful. Read it here for free: https://lnkd.in/ewuXn6NF
To view or add a comment, sign in
-
Build a RAG pipeline from scratch in Python without LangChain Learn to build a RAG pipeline in Python from scratch — chunk documents, embed with OpenAI, store in ChromaDB, and query with Claude. Read the full post 👇 https://lnkd.in/gBHKATvy #GenerativeAI #AI #WebDevelopment #PHP #Python #Developer #LLM
To view or add a comment, sign in
-
Python: 06 🐍 Python Tip: Master the input() Function! Ever wondered how to make your Python programs interactive? It all starts with taking input from the user! ⌨️ 1) How to capture input? -To get data from a user, we have to use the input() function. To see it in action, you need to write in the terminal using: '$ python3 app.py' 2) The "Type" Trap 🔍 -By default, Python is a bit picky. If you want to know the type of our functions, You can verify this using the type() function: Python code: x = input("x: ") print(type(x)) Output: <class 'str'> — This means 'x' is a string! 3) Converting Types (Type Casting) 🛠️ If you want to do math, you have to convert that string into an integer. Let's take a look at this example- Python code: x = input("x: ") y = int(x) + 4 # Converting x to an integer so we can add 4! [Why do this? Without int(), here we called int() function to detect the input from the user, otherwise Python tries to do "x" + 4. Since you can't add text to a number, your code would crash! 💥] print(f"x is: {x}, y is {y}") The Result 🚀: If you input 4, the output will be: ✅ x is: 4, y is: 8 Happy coding! 💻✨ #Python #CodingTips #Programming101 #LearnPython #SoftwareDevelopment
To view or add a comment, sign in
-
-
while True in Python: When an Infinite Loop Is Exactly What You Need The first time you see while True in code, it looks like a mistake. A loop with no exit condition sounds like a program that runs forever. In practice, it is one of the most deliberate and useful patterns in Python, and input validation is where you encounter it first. The problem it solves is straightforward. You ask a user for a number. They type a word. Your program crashes. A single input() call has no way to enforce what the user provides. You need a mechanism that keeps asking until the input is acceptable. A while loop with a condition seems like the natural answer: number = int(input("Enter a positive number: ")) while number <= 0: number = int(input("Enter a positive number: ")) This works, but it has a problem. The first input() call sits outside the loop, which means you are writing the same line twice. Any change to the prompt or the conversion logic has to be made in two places. That is the kind of duplication that causes bugs in larger programs. while True removes the duplication entirely: while True: number = int(input("Enter a positive number: ")) if number > 0: break print("That is not a valid input. Try again.") The loop runs indefinitely by design. The input logic lives in one place. The break statement is the explicit exit condition, and it only triggers when the input meets the requirement. Until then, the program keeps asking. This is not a workaround for a missing feature. It is a recognised pattern precisely because it separates two responsibilities cleanly: collecting input and validating it. The loop handles collection. The condition handles validation. Each does one thing. The pattern also scales naturally. If you need to validate that the input is a number before checking its value, you can wrap the conversion in a try/except block inside the same loop, handling format errors and range errors in the same place without restructuring anything. An infinite loop with a clear exit condition is not dangerous. An infinite loop with no exit condition is. Knowing the difference is part of writing code that behaves predictably under real conditions. #Python #PythonMOOC2026 #BackendDevelopment #SoftwareEngineering #LearningInPublic #UniversityOfHelsinki
To view or add a comment, sign in
-
-
The Python walrus operator (:=) assigns a value to a variable and returns that value in the same expression — no separate line, no repeated function call. It was introduced in Python 3.8 via PEP 572, and the patterns where it earns its place go well beyond the basics: — While loops that read from files or sockets without duplicating the call — List comprehension filters that run an expensive function once, not twice — Regex conditionals where the match object is available immediately — Generator pipelines that transform, filter, and bind in a single pass — Database cursor streaming without loading the full result set into memory — Retry loops with exponential backoff where the response binds on success The tutorial linked below also covers the governance history — PEP 572 is the only Python proposal that led directly to Guido van Rossum stepping down as BDFL, which produced the Steering Council model still in use today. Includes quizzes, spot-the-bug challenges, a code builder, and a final exam with a downloadable certificate of completion upon passing the final exam with a minimum score of 80%. https://lnkd.in/g2r9UX55 #Python #PythonProgramming #LearnPython #PEP572 #SoftwareDevelopment #Programming #CodingTips
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development