什麼? 一個純文組會對資料庫有興趣? 一直以來我都很喜歡分類資料,整理好攻略自己看也滿有成就感的

2020 跟著網頁媒體公司一起做了公司西文版官網後,才有【資料庫】的概念,當時覺得好好玩(高中資訊課類似貪吃蛇小遊戲,都是我爸做的

以使用者的角度去想,客人會怎麼搜尋國際號碼?  "-" ,"." , 大小寫是不是要忽略? 共用編碼要不要分開? 前台怎麼呈現? 

點選A會跳出AB,但不希望點B跳出A要怎麼做?怎麼整理資料給工程師才能一次匯入? 遇到好多問題,邊做邊改

一開始問工程師朋友們 (騷莎圈神多軟工、國外業務、行銷) ,男女工程師都說: Python? 那很簡單吧?  MySQL? 怎麼可能學不會? (OS 你們都這麼說了,那一定學得會吧 !!!)

一位朋友說不用買課程,Youtube 影片看一看就會了,有鑑於他智商應該120以上,我還是買了課程 

一位朋友傳了這個影片給我: 你看得懂邏輯嗎? 看得懂你就會 (  好幽默)

 


 Python-logo-notext.svg.png

什麼是Python?

Python 是一種高級的、通用的程式語言,由Guido van Rossum在1989年開發,被廣泛用在軟體開發、科學計算、數據分析、人工智慧、網頁開發等領域

說簡單點, 我們可以把 Power BI、EXCEL... 整理好的資料代入Python 作分析、寫線上遊戲的規則路徑、餐廳點餐系統的路徑等等

 

有什麼學習資源?

很多平台上可以購買網課, HahowUdemyCoursera, 最經濟方便的是 Udemy, 價錢便宜也有中文Python課程, 其實聽不懂英文西文勉強還是能上, 看字幕或程式碼能懂

如果不想買網課? 每次講到程式, 我一定都會貼上【Papaya 電腦教室】, 最近他出了Python課程! 還有一些頻道也很不錯 【GrandmaCan -我阿嬤都會】【彭彭的課程】【魏巍】【CS Dojo

很多大學有 Python公開課程 (Google會找到很多, 只是錄的好不好就不一定了)

 

Python 怎麼學?

我選擇先上一些基礎入門, 再選有專案類型 (例如: 用Python做股票分析、A/B 測試, 消費者分析等等)

這篇只介紹基礎入門

P.S 如果經濟允許, 準備雙螢幕、平板或兩台電腦, 邊看教學邊打Code, 會比單一台電腦順手

 

怎麼安裝Python?

進到 官網 安裝 Python

1674880405493.jpg

 

之後兩個方法

方法一:

安裝成功後在電腦中打開【IDLE Python】直接開始

螢幕擷取畫面_20230127_015620.png

上方 Options - Configure IDLE 可以更改字形 大小 背景顏色

螢幕擷取畫面_20230127_031611.png

 

方法二:

再下載 PyCharm

進到畫面, 創立新檔案後會出現

螢幕擷取畫面_20230129_122505.png

這時可以開始輸入程式碼, 輸入好後按上方 RUN - Main (Shift+F10)

結果就會出現在下面結果了

螢幕擷取畫面_20230129_122426.png

可以點上方 View - Active Editor - Increase Front Side 增加字型大小

螢幕擷取畫面_20230129_123156.png

下方板手圖案點進去, 勾選上方 用ctrl+滑鼠更改字型大小, 以後要調整就很方便了

螢幕擷取畫面_20230129_123423.png

 


剛開始用 IDLE , 之後發現 PyCharm 程式碼顏色標註比較清楚, 就改用 PyCharm

下面範例, 兩種介面都會有

熟練以後,最好全部用英文,不然遇到BUG會很~崩~潰

 

【先來個基本計算

加減乘除和 EXCEL 超像的!

*+ - * / 和 EXCEL 皆相同

and or > < 也和 EXCEL 相同

**2 二次方  != 不等於  == 不等於

螢幕擷取畫面_20230128_123515.png

四捨五入用 round

螢幕擷取畫面_20230128_045513.png

54000/8888=6...672

*54000//8888=6 (算出「商數」)

*54000%8888=672 (算出「餘數」)

螢幕擷取畫面_20230127_031801.png

 

【文字效果

製造多行文字效果

螢幕擷取畫面_20230128_045930.png

螢幕擷取畫面_20230128_045921.png

input 讓人填寫

1674896653491.jpg

螢幕擷取畫面_20230128_050422.png

螢幕擷取畫面_20230128_050630.png

螢幕擷取畫面_20230128_050637.png

用「+」和「,」連接字的差別

螢幕擷取畫面_20230128_051229.png

螢幕擷取畫面_20230128_051238.png

轉換資料類型  int 轉成整數   float 轉成浮點數   str 轉成字串

螢幕擷取畫面_20230128_053943.png

螢幕擷取畫面_20230128_053934.png

這時會發現, 如果用+連接, 需要再把年齡轉換為字串 str

螢幕擷取畫面_20230128_054401.png

螢幕擷取畫面_20230128_054412.png

新版可以使用 f" {} "

螢幕擷取畫面_20230128_055001.png

螢幕擷取畫面_20230128_054950.png

list 把字分開

螢幕擷取畫面_20230128_063653.png

螢幕擷取畫面_20230128_063708.png

.split 把/分開

螢幕擷取畫面_20230128_065507.png

螢幕擷取畫面_20230128_065515.png

.join 用/加一起

螢幕擷取畫面_20230128_070656.png

螢幕擷取畫面_20230128_070644.png

 

【匯入別的模組

螢幕擷取畫面_20230129_095906.png

螢幕擷取畫面_20230129_100419.png

 

【查看清單】

清單內容修改, 指定index數

螢幕擷取畫面_20230128_071138.png

螢幕擷取畫面_20230128_071148.png

清單內容增加, 指定index數

.append 增加單一 (" ")

.extend 增加多項 ([" "," "])

螢幕擷取畫面_20230128_071518.png

螢幕擷取畫面_20230128_071533.png

清單內容刪減

.remove(" ")

.pop( ) 括弧內放 index數

因為maite 被刪掉後, tomas 變為  index 1, 因此tomas 也被刪掉了

螢幕擷取畫面_20230128_071913.png

螢幕擷取畫面_20230128_071920.png

查看是否有在名單中

螢幕擷取畫面_20230128_100138.png

1674914512760.jpg

清單應用

設置成績系統

螢幕擷取畫面_20230128_111051.png

螢幕擷取畫面_20230128_111100.png

append練習

螢幕擷取畫面_20230129_112814.png

螢幕擷取畫面_20230129_112857.png

 

【設立字典】

用中刮號 { } 配上" ": " "

螢幕擷取畫面_20230129_074546.png

螢幕擷取畫面_20230129_074552.png

增加顏色

螢幕擷取畫面_20230129_074649.png

螢幕擷取畫面_20230129_074656.png

螢幕擷取畫面_20230129_074736.png

螢幕擷取畫面_20230129_074740.png

修改 value 內容

螢幕擷取畫面_20230129_074845.png

螢幕擷取畫面_20230129_074854.png

*進階 用 for...in 函數, 設置列表

螢幕擷取畫面_20230129_080153.png

螢幕擷取畫面_20230129_080218.png

螢幕擷取畫面_20230129_080427.png

螢幕擷取畫面_20230129_080432.png

 

試試設置產品庫存

螢幕擷取畫面_20230129_082759.png

螢幕擷取畫面_20230129_082818.png

螢幕擷取畫面_20230129_082831.png

 

【定義變數】

把想計算的產品定義成變數, 以後只需要改最上面的價錢, 不需要一個一個改公式

先假設一顆蘋果40 一份鬆餅100

*apple PANCAKE 大小寫要完全相同, 也不能有空格

螢幕擷取畫面_20230127_031327.png

螢幕擷取畫面_20230127_031338.png

 

做【集合】

上方 File - New File

最後加入print(total 變數)

螢幕擷取畫面_20230127_032329.png

上方 Run - Run Module

原本的頁面就會直接跳出答案了

螢幕擷取畫面_20230127_032517.png

 

【if 函數 算算看 BMI】

螢幕擷取畫面_20230127_040309.png

螢幕擷取畫面_20230127_041041.png

螢幕擷取畫面_20230127_041556.png

---

螢幕擷取畫面_20230127_041402.png

螢幕擷取畫面_20230127_041605.png

 

【if 函數   搭配else其他的】

螢幕擷取畫面_20230127_045948.png

螢幕擷取畫面_20230127_050042.png

 

【if 函數   if下面再加新條件if   搭配else 其他的】

螢幕擷取畫面_20230127_053239.png

螢幕擷取畫面_20230127_053246.png

 

【if 函數  if下面再加新條件if    搭配elif 加新的條件    搭配 else 其他的】

螢幕擷取畫面_20230127_053752.png

螢幕擷取畫面_20230127_053759.png

 

多項條件 要大排到小

螢幕擷取畫面_20230127_054322.png

螢幕擷取畫面_20230127_054329.png

 

【if 點餐】

.upper 指全部視為大寫

3.jpg

4.jpg

 

【if 點餐+套餐】

兩種方法皆可

方法一:

螢幕擷取畫面_20230128_062431.png

方法二:

螢幕擷取畫面_20230128_062241.png

螢幕擷取畫面_20230128_062319.png

 

【While 算出可以買多少 剩多少錢】

螢幕擷取畫面_20230128_121027.png

螢幕擷取畫面_20230128_121017.png

螢幕擷取畫面_20230128_121535.png

螢幕擷取畫面_20230128_121546.png

*可以簡化公式

total=total-num_apple

total-=num_apple

num_apple=num_apple+1

num_apple+=1

 

【While 練習 可以買幾份A 幾份B】

*先固定其中一項

螢幕擷取畫面_20230128_010247.png

螢幕擷取畫面_20230128_010259.png

 

def   (): 定義函數 考慮到有不同價格的apple】

*def xxxx(): 定義函數

螢幕擷取畫面_20230128_014621.png

螢幕擷取畫面_20230128_014633.png

螢幕擷取畫面_20230128_015019.png

 

【While 練習 猜價格遊戲】

abs 指全部視為正值

螢幕擷取畫面_20230129_120639.png

螢幕擷取畫面_20230129_120650.png

 

def   (): 定義函數 買固定數量A 可以買多少B】

600元,買五份鬆餅情況下,可以買幾顆蘋果?

螢幕擷取畫面_20230128_021911.png

螢幕擷取畫面_20230128_021920.png

 

def   (): 定義函數 賣家給折扣 加運費 預設是60】

螢幕擷取畫面_20230129_012045.png

螢幕擷取畫面_20230129_012045.png

 

def   (): 定義函數 設置計算機】

螢幕擷取畫面_20230129_061519.png

螢幕擷取畫面_20230129_061537.png

螢幕擷取畫面_20230129_061545.png

螢幕擷取畫面_20230129_061554.png

 

【定義串列清單】

先定義每天買多少蘋果的串列 [2,3,6,8,1]

*紅色的是 註標 ( index ), 代表串列的位置, 第一位為0 

1674883275290.jpg

*若是輸入(1:3) 會回傳1~2 (這裡指index)

輸入(1:) 會回傳1(這裡指index) 後面全部

輸入(:3) 會回傳最前面三位

螢幕擷取畫面_20230128_063245.png

 

代入index, 可以列出每天數量

螢幕擷取畫面_20230128_013457.png

螢幕擷取畫面_20230128_013801.png

*進階 用 for...in 函數, 設置apples

螢幕擷取畫面_20230128_042408.png

螢幕擷取畫面_20230128_042511.png

PS 也適用於文字

螢幕擷取畫面_20230128_111804.png

螢幕擷取畫面_20230128_111754.png

 

設置 total_apple 為 days_apple 迴圈加到底, 可以得到蘋果總數

螢幕擷取畫面_20230128_013813.png

螢幕擷取畫面_20230128_013824.png

*進階 用 for...in 函數, 設置apples, 再將apples 迴圈加到底

螢幕擷取畫面_20230128_042519.png

螢幕擷取畫面_20230128_042531.png 

 

break 只到某項

continue 略過某項

螢幕擷取畫面_20230128_113134.png

螢幕擷取畫面_20230128_113149.png

螢幕擷取畫面_20230128_113215.png

螢幕擷取畫面_20230128_113228.png

 

總共有幾種組合

螢幕擷取畫面_20230128_114338.png

螢幕擷取畫面_20230128_114324.png

 

乘積

螢幕擷取畫面_20230128_114733.png

螢幕擷取畫面_20230128_114722.png

 

【Range 輸入範圍】

Range(起始值,結束值,間距值)

螢幕擷取畫面_20230129_120856.png

螢幕擷取畫面_20230129_120902.png

設置密碼系統

螢幕擷取畫面_20230129_122201.png

螢幕擷取畫面_20230129_122224.png

 

【random 隨機挑選

random.shuffle 指打亂順序

random.choice 隨機選一個

random.randint 固定範圍,隨機選一個

螢幕擷取畫面_20230129_100948.png

螢幕擷取畫面_20230129_101007.png

隨機密碼練習

螢幕擷取畫面_20230129_103000.png

螢幕擷取畫面_20230129_103009.png

  

基礎大概是這些, 線上課程有智慧財產權就不放了

這些是我做過的, 有課程或刷題疑問可以私訊交流~

 

 

arrow
arrow
    創作者介紹
    創作者 Cata Viva 拉丁樂 的頭像
    Cata Viva 拉丁樂

    Cata Viva 拉丁樂

    Cata Viva 拉丁樂 發表在 痞客邦 留言(0) 人氣()