###### 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> <<無窮迴圈