# 資研 11/17 社課講義 [**提問表單**](https://forms.gle/z4dPC1JPV6uA2q9w7) [**上課PPT**](https://www.canva.com/design/DAF0QOejvns/SzMwDrBD1hEhzIA65sld5A/view?utm_content=DAF0QOejvns&utm_campaign=designshare&utm_medium=link&utm_source=editor) --- :::warning **range()** - 迭代函數 - range(start, end, step) >start:預設為0;step:預設為1(<font color="#CE0000">間隔多少迭代一次</font>) - 會從start數到end-1(共end-start個) ```python= range(5) # 0, 1, 2, 3, 4(共5個) range(1, 5) # 1, 2, 3, 4 range(1, 5, 2) # 1, 3 range(5, 1, -1) # 5, 4, 3, 2 ``` ::: ## For迴圈 For Loops ### 基本觀念 1. 架構 ```python= for [變數] in [可迭代物件]: [執行程式碼] ``` 2. 用途:執行多次重覆程式碼 3. 可迭代物件:**range()**、**string**... - 範例1. 印出1~5 ```python= for i in range(1, 6): print(i, end=' ') ``` - 範例2. 在一行內分別印出"Basic Program Group"的所有字元(含空格),並以逗點隔開 ```python= for i in 'Basic Program Group': print(i, end=',') ``` :::success **若不希望多印出一個逗號** **可以嘗試控制"最後一次不印出逗號"** ```python= for i in 'Basic Program Group': # 最後一個字母恰為'p' if i == 'p': print(i) else: print(i, end=',') ``` ```python= A = "Basic Program Group" n = len(A) for i in range(n): if i == n-1: print(A[i]) else: print(A[i], end=',') ``` ::: ## **練習題** **Zerojudge** [**連結**](https://zerojudge.tw/) :::spoiler c418.範例程式碼 ```python= a = int(input()) for i in range(1, a+1): print('*'*i) ``` ::: :::spoiler c419.範例程式碼 ```python= a = int(input()) for i in range(1, a+1): print('_'*(a-i)+'*'*i) ``` ::: :::spoiler c420.範例程式碼 ```python= a = int(input()) for i in range(1, a+1): print('_'*(a-i)+'*'*(2*i-1)+'_'*(a-i)) ``` ::: :::spoiler b970.範例程式碼 ```python= a = int(input()) for i in range(a): print(f"{i+1}. I don't say swear words!") # print(i+1, ". I don't say swear words!", sep='') ``` ::: --- ## 補充資料 **推薦網站:**[**W3Schools**](https://www.w3schools.com/)