# Python基本教學 Day10
看完Day1-Day9的教學,大家應該對Python語言有基本的認知了,今天讓大家做一點Python的實作
1. 請問在下列選項中,哪些是合法的變數名稱?若不合法請說明為什麼不合法
(a)<code>caffe</code>(b)<code>None</code>(c)<code>2_dog</code>(d)<code>num</code>(e)<code>True</code>(f)<code>studentID</code>(g)<code>my_id</code>
2. 將下列的各項資料輸入Python判斷它們屬於何種資料類別
(a)<code>'2+3'</code>(b)<code>True</code>(c)<code>2.30</code>(d)<code>0x12</code>(e)<code>6+1j</code>(f)<code>6e3</code>(g)<code>722</code>
3. 用Python的內建函數pow計算$2^{12}$的值
4. 設x=8,y=16,試推導下列各式,並以Python實作
(a)<code>x&y</code>(b)<code>x|y</code>(c)<code>x^y</code>(d)<code>x<<3</code>(e)<code>y>>4</code>(f)<code>~x</code>
5. 試用Python將10進位的整數4096分別轉換成2進位、8進位、16進位
6. a = 16384, b=32.768,利用f-字串將變數a與b列印出如下格式,以下o表示一個空格
(a)<code>a = oo16384, b = o32.768</code>
(b)<code>a = o+16384, b = 032.768</code>
(c)<code>a = 0016384, b = oo32.76</code>
7. 試求6,8和12的最大公因數
8. 試求$log_21024$
9. 利用random模組裡的函數幫我完成下列要求
(a)產生0到1的亂數
(b)從字串'Python'中隨機取2個字元
(c)產生一個1到999包含999的整數亂數
(d)從1到100之間包含100的奇數隨機挑一個
(e)產生一個介於-1到3之間的浮點數亂數
(f)設<code>lst = [1, 3, 5, 7, 9]</code>將<code>lst</code>內的元素打亂並顯示結果
10. 設s1 = 'Play it by ear',利用字串類別提供的函數完成下列題目
(a)將s1內的每一單字的第一個字母轉換成大寫
(b)將s1全部內容轉換成大寫
(c)測試s1內是否全為英文
(d)計算'a'在s1中出現的次數
(e)將'ear'換成'EAR'
11. 利用<code>range()</code>函數建立[100, 104, 108, 112, 116, 120]這個串列
12. 設lst = [9, 81, 72, 63, 54, 45, 4, 3, 2, 1],請取出lst中索引為2到4的元素
13. 續上題,請找出lst的長度,及其中最大值、最小值,並算出其總和為何
14. 設lst = [5, 4, 3, 2, 1],試將[7, 6]添加到lst前面
15. 設tpl = (1,2,3,4,5)
(a)求tpl總和、最大最小值分別為何
(b)找出3在tpl中的索引
(c)試在Python中輸入<code>tpl*2</code>會有什麼結果
參考答案:https://hackmd.io/@RshQciPYTE2wmLLiZx4JAA/BJXpvKsdC
https://docs.python.org/zh-tw/3/tutorial/index.html