# Python班
## 11/03 社課
---
### 本次課程內容
* 提一下你們常錯的語法
* 社內賽練習
* 串列
* map語法
---
## 輸入的型別
----
str---字串
int---整數
float---浮點數(小數)
bool---布林值(T or F)
----
你們的輸入常常這樣寫
```python=
a = input()
```
但題目通常會告訴你他要輸入的型別
比如:
```python=
a = int(input())#輸入整數
b = str(input())#輸入字串
c = float(input())#輸入小數
d=input()#預設輸入字串
```
----
因此,
如果你只有打a=input(),
python會**自動判斷成字串**,
**而字串不能進行四則運算**,
程式會產生錯誤。
---
# if()
----
```python=
if(判斷式):
執行的程式
```
這裡要強調的是
# ***縮排縮排縮排***
因為很重要所以要說三次
----
大哥、大姐(應該沒有)行行好,
它沒有那麼聰明能
預測你的if到底包含到哪個程式碼,
所以要記得
# ***縮排縮排縮排***
---
# for loop
----
正確語法是:
```
for i in range(5):
print(1)
print(i)
```
這代表的是重複五次,
如果只是想要達成重複的內容,
括號內填一個數字就夠了。
----
如果想要自訂起始值,終止值,每次加減的量,語法如下:
```
for i in range(2,10,2):
print(i)
'''
2
4
6
8
'''
```
記得這個迴圈不會執行i=10
---
事前小叮嚀,待會所有範例與練習中,引用的內容
# 絕不代表本台立場
---
# 串列
----
## 基本定義
就是把許多資料「串」成一「列」
以中括號將想放入串列的資料括在一起,
中間以逗號分隔。
----
舉例:
```python
a = [1585, 1586, 1587, 1588, 1611, 1612, 1613, 1614]
print(a)
```
輸出:
```python
[1585, 1586, 1587, 1588, 1611, 1612, 1613, 1614]
```
----
型別也不一定要相同
```python
a = [1585, 158.6, "1587", "ABC"]
print(a)
```
輸出:
```python
[1585, 158.6, '1587', 'ABC']
```
----
## 取其中一值
要怎麼只取其中一值呢?也很簡單
有一個串列h,第一個值就是h[0],
第二個就是h[1],以此類推
(此種計算方式稱為0-base)
----
舉例:
```python
a = [1585, 1586, 1587, 1588, 1611, 1612, 1613, 1614]
print(a[2])
```
輸出:
```python
1587 #不是1586喔
```
----
## Append
Append這個語法的作用是將一個值加入一個陣列的最後方,在寫的時候,寫法如下:
```python
listname = [a0,a1,a2,...,an]
listname.append(b)
# [a0,a1,a2,...,an,b]
```
----
## 舉例:
```python
classes = [1582,1583]
classes.append(1584)
print(classes)
```
輸出:
```python
[1582,1583,1584]
```
----
## 練習1
已知國立臺灣師範大學附屬高級中學目前共有3個年級,高二高三皆有26班,高一有25班請創造一個串列,使得裡面有從高三第一個班一直到高一最後一個班。
(已知高二的第一個班叫做1582)
---
## 遍歷陣列
```python
classes = [1582,1583,1584]
for i in classes:
print(i)
```
輸出
```python
1582
1583
1584
```
----
## 練習2
承練習1,運用**遍歷陣列**的方式,找出你的班級,並將該格的值訂為字串My Class
---
# map簡介
----
這東西長得有點抽象,它的定義如下
```python
map(函式, 串列)
```
不過我們還沒正式教函式,理論上可以自己定義,但我們今天就先用python內建的功能就好了
----
## 舉例
int()的功能是將變數型別轉換成整數,
因此,就有了以下範例:
```python
a = map(int, ["4546"])
print(a)
```
輸出:
```python
<map object at 0x78b555d0f460>
```
----
欸?竟然是亂碼
我們要用list才能將它顯示出來
```python
a = list(map(int, ['4546']))
print(a)
```
輸出:
```python
[4546]
```
---
# 謝謝大家
{"contributors":"[{\"id\":\"084e105f-92be-4605-b399-8d3c0ef40c64\",\"add\":3716,\"del\":2096},{\"id\":\"8447d62f-b77b-4e5c-80cf-0392360451ef\",\"add\":737,\"del\":5}]","title":"112-1-Python班-串列與listmap"}