###### tags: `Python`
# 第三堂課練習-for迴圈
## for in range
``` python=
for i in range(5) : # 0~4 (用for迴圈輸出5個整數,從0開始)
print(i,end =" ")
for i in range(6,11): # 6~10 (用for迴圈輸出6~10,有指定區間)
print(i,end =" ")
print() #空一隔
for i in range(1,10,2): # 輸出1-10 ,間隔2
print(i,end =" ")
```
:::spoiler 輸出結果
![](https://i.imgur.com/yUHBUPT.png)
:::
## for遞增/遞減
```python=
for i in range(5,0,-1): # 5~1遞減 (尾數-1)
print(i,end =" ")
print()
for i in range(1,6,1): #1~5遞增 (尾數+1)
print(i,end =" ")
```
:::spoiler 輸出結果
![](https://i.imgur.com/bQ65bPH.png)
:::
## 練習題-for in range
:::success
1-200 之間17的倍數輸出
:::
```python=
#方法1
for i in range(17,201,17): #range不包含200 改為 201
print(i,end =" ")
print() #空一隔
#方法2
for i in range(1,201): #條件一 取1-200
if i%17==0: #條件二 可以被17整除, 取餘數為0
print(i,end="")
```
:::spoiler 輸出結果
![](https://i.imgur.com/OfmmsV4.png)
:::
## 累計加總
:::success
輸出1~50累計加總
:::
```python=
sum=0
for i in range(1,51): #1~50
sum=sum+i
print(sum)
```
:::spoiler 輸出結果
1275
:::
## 練習題-找因數
:::success
讓使用者輸入一個正整數,找出正整數的因數
:::
```python=
a=int(input("請輸入一個正整數:"))
#宣告一個a 變數接收使用者輸入(用int將使用者輸入的值轉為整數)
for i in range(1,a+1):
if a%i==0:
print(i,end=" ")
```
:::spoiler 輸出結果
![](https://i.imgur.com/9b6wxdw.png)
:::
## 練習題-加總(值互換)
:::success
讓使用者自行輸入加總的起訖值,將總和輸出
:::
```python=
n = int(input("請輸入加總的開始值:"))
m = int(input("請輸入加總的結束值:"))
sum=0
#使用者輸入相反,將大小值轉換 (值互換)
if n > m:
n , m = m , n
for i in range(n,m+1):
sum=sum+i
print(sum)
```
:::spoiler 輸出結果
![](https://i.imgur.com/N6ENGET.png)
:::
## 練習題-帳密確認
```python=
#使用者帳號密碼檢查
#讓使用者可以輸入3次帳號密碼
#root/1234
for i in range(3):
n=input("請輸入帳號:")
p=input("請輸入密碼:")
if n == "root" and p =="1234":
print("輸入正確!")
break #強制中斷迴圈
else:
print("登入失敗!")
```
:::spoiler 輸出結果
![](https://i.imgur.com/8vcFpE6.png)
:::
## 練習題-猜骰子遊戲(for寫法)
```python=
#猜骰子遊戲,直到猜對為止
import random #加入外掛random
for i in range(9999999): #for迴圈必須設定最大值
a=random.randint(1,6) #電腦亂數在1~6產生一個數
#print(a) #偷看答案專用
n=int(input("請猜數字1-6:")) #讓使用者輸入去猜
if a==n: #檢驗猜數與電腦亂數 是否相同
print("Bingo!") #相同者輸出
print("共猜了%d次" %(i+1))
break
else: #不同就輸出猜錯
print("猜錯囉~")
```
:::spoiler 輸出結果
![](https://i.imgur.com/FIpmggt.png)
:::
## 練習題-猜骰子遊戲(while寫法)
```python=
#猜骰子遊戲,直到猜對為止
import random #加入外掛random
i=1 #宣告i,用來計算次數(無論如何都會猜一次)
a=random.randint(1,6)
n=int(input("請猜數字1-6:"))
while a < n or a > n: #只要亂數跟猜的數字不相符就會執行猜錯再次輸入
print("猜錯囉~")
n=int(input("請猜數字1-6:"))
i=i+1
print("Bingo!")
print("共猜了%d次" %(i))
```
<font color="red">while True:</font> <<無窮迴圈