---
# System prepended metadata

title: 7-4 while迴圈
tags: [chapter 7]

---

###### tags: `chapter 7`
# 7-4 while迴圈 #
`while`迴圈跟`for`迴圈能處理的問題其實都一樣，但這兩種迴圈==在使用機會上不同，兩者表達的邏輯思維也不一樣==，你可以這輩子只使用`for`迴圈來寫程式，但這樣在表達上不是很明確。

前面提到`for`迴圈的使用時機是`知道迴圈該跑幾次`的情況下使用。

`while`迴圈則是`不知道該跑幾次，但知道甚麼時候該停`的情況。


比如說，計算這件商品打幾次9折才會不到100元。
```python=
count = 0
cost = int(input())
while cost > 100 :
    cost *= 0.9
    count += 1
print(count)
```

我們有時候也會用`while`迴圈來實作`無窮迴圈`，且中間必定會搭配`break`，否則你會一輩子陷入無盡的深淵，這種寫法通常會用類似ATM操作的時候，根據使用者輸入的選項來決定你下一步的操作，如果使用者選擇「離開」的選項，那就`break`離開`while`迴圈。

```python=
status = True
while status:
    option = input(請輸入選項:)
    if option == "領錢":
        print("領錢ing...")
    elif option == "存錢":
        print("存錢ing...")
    elif option == "離開":
        break;    # 直接離開迴圈
```