# 111-08-13 Python入門實作班上課記錄
###### tags: `python`
1. Visual Studio Code Jupyter顯示行號
- `ESC`: 進入command mode
- `Shift`+`L`: 顯示/關閉行號
- `Enter`: 離開command mode
2.
```
print('你好')
print('Hello Python')
print('今天')
print('123')
print('Hello Python')
print('Hello', 'World', 'test', 123)
print(9876 + 1)
print('9876' + '1' + 'Hello')
# input函式輸入的資料存放在a變數裡
a = input('請輸入一個數字:')
# input函式輸入的資料存放在b變數裡
b = input('請再輸入一個數字:')
# a字串轉換成數字後會存放在c
c = int(a)
d = int(b)
print(a + b)
print(c + d)
```
3.
```
a = True
b = type(a)
print(b)
```
4. r字串仍需要符合單引號成雙成對規則
5.
```
name = input('請輸入名字:')
age = input('請輸入年齡:')
# 字串格式化
print('你的名字叫', name, ", 年齡為:", age, '歲')
print(f'你的名字叫{name}, 年齡為:{age}歲')
```
6. 讓使用者輸入兩個數字,格式化後輸出下面訊息:
輸出範例:
```
3和5的總合為8
```
參考答案:
```
num1 = int(input('請輸入第一個數字'))
num2 = int(input('請輸入第二個數字'))
print(f'{num1}和{num2}的總合為{num1 + num2}')
```
7. 將函式洗白
```
type = 3
print(type)
del type
a = 9
print(type(a))
```
> **說明**
8. list範例(包含insert)
```
a = [1, 2, 3, 1, 5] # list
b = [1, 2, 3, 1, 5] # list
c = [1, 2, 3, 1, 5] # list
print(a[4])
print(a[3])
print(a[2])
print(a[1])
print(a[0])
print(a[0]+a[1]+a[2]+a[3]+a[4])
a.append(9) # 將9增加到a list裡面去
a.insert(2, 'xyz')
b.append('abc')
c.append(True)
# del a[0]
# del b[0]
# del c[0]
print(a)
print(b)
print(c)
# t = sum(a)
# print("t=", t)
```
9. set範例
```
a = {1, 3, 4, 5, 3, 1, 1, 1, 3}
a.add(1)
a.add(5)
a.remove(3)
a.remove(5) # 此方法list也可以用
print(a)
# print(a[0]) # 無法使用索引值來存取set內容
```
10. 計算多少個set資料被刪除
```
a = [1,2,3,4,1,2,3]
b = set(a)
print(len(a)-len(b))
```
## 課後練習
## 基本型態、運算子
1. Python數值型態有哪4種?
**答:**
int,float, complex,mod
```
2. 字串可以使用哪些算術運算子?
**答:**
+,-,*,/
```
3. 在字串裡可以使用什麼轉譯字來換行?
**答:**
\n
```
4. 何謂r字串?
轉譯字變為一般文字
```
```
5. Python有哪幾種格式化字串的方式?
**答:**
```
```
6. `4 < 0`的運算會產生甚麼結果?
**答:**
```False
```
7. Python內如何使用註解?
**答:**
```加#號
```
8. 該怎麼去掉`4.5`的小數點? 請寫出程式碼。
**答:**
```
```
9. 請用指派運算子寫出`a = a + 99`的精簡寫法。
**答:**
```
```
10. 何謂轉型? 請舉例以程式碼示範將字串轉型為整數。
**答:**
```
```
## 群集型態
1. Python有哪4種群集型態?
**答:**
```
```
2. 要如何取得['aaron', 'andy', 'abner']清單內的'abner'這筆資料? 請寫出程式碼。
**答:**
```
```
3. 該怎麼判斷某個元素是否存在於list當中?
**答:**
```
```
4. `a = {}`會建立出甚麼群集型態?
**答:**
```
```
5. 哪兩種方法可以取得dict內的值?
**答:**
```
```
6. 要刪除tuple內某一筆資料有哪些方法?
**答:**
```
```
7. `a, b, c = (1, 2, 3)`這是資料的pack還是unpack?
**答:**
```
```
8. 如何用一行程式碼產生一個1~100之間偶數的`list`?
```
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
```
**答:**
```
```
9. 如何取出下面set()所有的數字並加總後使用print()函式輸出。
```
my_set = {28, 37, 16}
```
**答:**
```
```
10. 有一個`list`為:`['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']`,請問:
a. 如何使用切片得到:`['b', 'd', 'f', 'h', 'j']`的結果?
**答:**
```
```
b. 如何使用索引切片得到:`['i', 'j', 'k']`的結果?
**答:**
```
```
c. 如何使用索引切片得到: `'c-b-a'`的結果?
**答:**
```
```
d. 如何使用索引切片得到:`'kakakaka'`的結果(搭配算術運算子)?
**答:**
```
```
> k為最後一個值,a為第一個值。
11. `remove()`方法和`del`都可以用來刪除`list`的一個元素,請問這兩個刪除元素的方式有什麼差別?
**答:**
```
```
12. 有一個字串`list`為:`data = ['aaron', 'andy', 'apple', 'amber', 'aaron', 'abner']`,其中`'aaron'`出現了兩次,如何從該`list`中移除所有的`'aaron'`字串?
**答:**
```
```
13. 有兩個`list`資料,一個為學生姓名,一個為對應的每個學生成績,請問該如何將這兩個`list`資料配對後合併成一個`dictionary`,例如:
將:
```
names = ['aaron', 'andy', 'amber', 'apple', 'abner']
scores = [100, 90, 60, 80, 50]
```
變成:
```
{'aaron': 100, 'andy': 90, 'amber': 60, 'apple': 80, 'abner': 50}
```
**答:**
```
```
14. 如何用一行程式碼,就將`data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]`就將這個`list`的第一個植根最後一個值分別存放到`first`和`last`變數當中?
**答:**
```
```
> first將會是0,last為9