Try   HackMD

2022-11-05 第一天 Python入門實作班上課記錄

tags: python

使用者輸入兩個數字後相加

a1 = input('請輸入第一個數字:')  # 這是字串(註解)
a2 = input('請輸入第二個數字:')  # 這是字串(註解)

# 轉型
a1 = int(a1) # 把a1內容轉型成數字(整數), 指派(永遠都是右邊指派給左邊)指派給左邊)
a2 = int(a2) # 把a1內容轉型成數字(整數), 指派(永遠都是右邊指派給左邊)指派給左邊)

print(a1, a2)
print('總和為:', a1 + a2)

Python的資料型態

print(type(33))
print(type('33'))
print(type(3.3))
print(type(True))

基本四則運算

print('1 + 1 = ', 1 + 1)   # 2
print('2 - 1 = ', 2 - 1)   # 1
print('3 * 2 = ', 3 * 2)   # 6
print('3 ** 2 = ', 3 ** 2) # 9
print('4 / 2 = ', 4 / 2)   # 2.0 ()
print('4 / 3 = ', 4 / 3)   # 1.3333333.....
print('10 // 3 = ', 10 // 3) # 3 (除法運算取整數)
print('10 % 3 = ', 10 % 3)   # 1

邏輯運算子

print(not True)
print(True or False)
print(True and False)

字串相加

a = 3
b = 9
print(str(a) + str(b))

存取群集資料型態

a = [1, 2, 3, 4]  # 資料索引從0開始
print(a[2])  # 索引運算子
# print(a[4]) # 錯誤,索引超過範圍了
print(type(a))
a.append(5)
a.remove(2)  # 刪除指定內容
del a[0]     # 刪除指定位置
print(a)

群集資料型態通用方法

print(len(a))  # a有幾筆資料
print(3 in a)  # a裡面有沒有3這個資料(結果為True或False)
print(30 in a)  # a裡面有沒有3這個資料(結果為True或False)

課中練習

  1. a = a + 3使用運算子縮寫

  2. 輸出和輸入的方法名稱為何?

不小心蓋掉內建函示功能的解法

input = [1, 2, 3, 4]
print(type(sum))
sum = sum(input)  # 內建涵式功能被蓋掉了
print(type(sum))
print(sum)
# print(sum([1, 2]))

del sum   # 恢復內建函式功能
print(sum([1, 2]))

dict

my_dict = {'Hi': 'Aaron', 'ok': 'Amber'}
my_dict['test'] = 999  # 新增資料
my_dict['Hi'] = 999  

del my_dict['ok']

print(my_dict['Hi'])
# print(my_dict['ok'])

print(my_dict)

tuple

# t = 1, 2, 3 # t = (1, 2, 3)
t = 1, 2, 3, 4, 5, 6   # pack
print(type(t))
print(t)

*a, b, c = t  # unpack
print(a)
print(b)
print(c)

課後練習

  1. 字串可以使用哪些算術運算子?
    答:

    ​​​
    
  2. 在字串裡可以使用什麼轉譯字來換行?
    答:

    ​​​
    
  3. Python有哪幾種格式化字串的方式?

    答:

    ​​​
    
  4. 4 < 0的運算會產生甚麼結果?

    答:

    ​​​
    
  5. Python內如何使用註解?

    答:

    ​​​
    
  6. 該怎麼去掉4.5的小數點? 請寫出程式碼。

    答:

    ​​​
    
  7. 請用指派運算子寫出a = a + 99的精簡寫法。
    答:

    ​​​
    

群集型態

  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的第一個植根最後一個值分別存放到firstlast變數當中?
    答:

    ​​​​
    ​​​​
    ​​​​
    

    first將會是0,last為9

快篩

import csv

with open('Fstdata.csv', encoding='utf-8') as csvfile:
    rows = csv.reader(csvfile)

    for row in rows:
        if '人生' in row[1]:
            print(row[1], '=', row[7])
name = input('請輸入名字:')
age = input('請輸入年齡:')

print('你的名字是:', name, ', ', age, '歲')
print(f'你的名字是: {name}, {age}歲')