# loop
----
### 迴圈
---
## 什麼是loop呢?
----
## 滿足某條件後重複執行的函數
### 而我們今天來介紹兩種用法
---
## 第一種用法是while
----
### example
```python
name = input("輸入你的名字:")
while name == "":
print("你沒有輸入你的名字")
name = input("輸入你的名字:")
print(f"Hello {name}")
```
----
### 用int(整數)也是OK的喔
```python
age = int(input("輸入你的年齡:"))
while age < 0 :
print("年齡不得為負數")
age = int(input("輸入你的年齡:"))
print(f"你的年齡為{age}歲")
```
---
## 另一個用法是for
----
### 用法
----
```
for x in range (a,b,c):
print(x)
括號中的a,b,c分別是 以a為初值、當小於b時重複這個迴圈、每次加c
```
----
## example
```python
for x in range(1, 11, 2):
print(x)
```
##### 第一格 1 是指x的初值,第二格 11 是指當x小於11重複執行此段落,第三格是每執行一次x加2
----
## reverse
#### 反轉
----
## example 數字也可以倒過來
```python
for x in reversed(range(1,11,1)):#用reversed可以把數字倒過來
print(x)
print("Happy new year!!")
```
---
## loop補充
----
## loop可以搭配continue和break使用
----
# continue
----
## continue可以將迴圈推回起點,但其中的值不會變動
----
## continue example
```python
for x in range(1, 20, 1):
if x == 10:
continue
else:
print(x)
```
----
## 輸出後你會發現10不見了,因為當x等於10的時候if成立執行continue,loop就回到起點不會把x輸出
----
# break
----
## break可以直接中斷整個迴圈
----
## break example
```python
for x in range(1, 21, 1):
if x == 13:
break
else:
print(x)
```
----
## 你會發現輸出倒12就結束了,因為x到13時迴圈就被中斷了,所以只會輸出到12
----
### 還有一個重點
### 你們的while和 for in range後面
# **記得加 「 : 」**
#### 沒有加的話 你的程式就會跑不動
----

---
## 練習一下
階乘,求n!該怎麼寫呢?
(限制用迴圈)
----
## 答案
```python
sum = 1
temp = int(input())
for x in range(1, temp+1, 1):
sum = sum*x
print(sum)
```
----
## 進階練習
求1!+2!+...+n!=?
----
## 答案
```python
sum1 = 0
temp = int(input())
for x in range(1, temp+1, 1):
sum2 =1
for y in range(1, x+1, 1):
sum2 = sum2*y
sum1 = sum1+sum2
print(sum1)
```
---
## 一些重點
----
## 最後還有一個重點
### 非常重要 內容不長 但影響甚大
#### [按我了解更多](https://youtu.be/BBJa32lCaaY)
----
#### 好啦 不開玩笑了
#### 這個是while的一些細項內容
##### 對while還不太清楚的人可以再去了解一下
###### [Python While 迴圈語句](https://www.runoob.com/python/python-while-loop.html)
{"description":"迴圈\n","title":"loop","contributors":"[{\"id\":\"35a0644c-29d6-4dd3-98eb-9df68421a475\",\"add\":2200,\"del\":38}]"}