{一日資訊體驗營|台中場}

程式設計入門課程

2024/06/08

自我介紹

ShiYu{4Yu}

  • 南大附中資訊研究社第一屆 NFIRC 1st 創辦人|社長
  • SCIST 南臺灣資訊學生社群 S4 行政組
  • 南 9 校資訊社 x SCIST x 成大資工
    2024 聯合寒訓 副召
  • 第 11 屆高一生程式設計排名賽 實體組 第 8 名
  • 112 學年度高中數理及資訊學科能力競賽
    第四區(南區)複賽 資訊科 佳作
  • CPE 大學程式能力檢定 專業級 前 7 %
  • 台大資訊之芽南區算法班學員
  • 一日資訊體驗營 總召 兼 台南 & 台中場 講師

個人經歷

個人網站:ShiYu Blog

課程目的

  • 提供免費入門課程

  • 多元探索 體驗新事物

  • 帶你踏入資訊圈

今日課程

3.應用

練習實作小專案

2.學習

學習程式語法
搭配解題平台

1.認識

介紹程式基本知識

分為三大部分
每部分預計 1 小時

學員程度

初學者

  • 跟著課程內容學習

  • 有問題歡迎提出

已有基礎

  • 可預習、自學

  • 先完成題單、實作專案

程式電神

  • 應該不需要聽這堂課

  • 協助教學 或 多多社交

為何要學程式設計?

  • 促進邏輯思考

  • 培養解決問題的能力

  • 激發想像力與創造力

  • 跨領域應用

我適合寫程式嗎?

  • 喜歡邏輯思考

  • 善於發現並解決問題

  • 有耐心和毅力

  • 有興趣和熱忱

什麼是程式設計?

> 使用程式語言編寫程式碼解決問題

什麼是程式語言?

> 自然語言:人與人溝通所使用

> 程式語言:人與電腦溝通所使用

  • ​Python

  • Ruby

  • Dart

  • Rust

  • Swift

  • 機器語言

  • ​組合語言

有哪些程式語言?

  • C++

  • C#

  • Java

  • JavaScript

  • ...etc.

高階語言

低階語言

易讀性

抽象層次

要從哪種語言入門程式呢?

> 個人認為:Python
> 每個人的主觀感受不同

為何要從 Python 入門呢?

  • 語法簡潔 更貼近自然語言 易讀性高
  • 最熱門的程式語言 網路上有很多學習資源
  • 動態直譯式語言 對新手友善
  • 有很多好用的函式庫 可以應用在各種領域

2024 TIOBE 程式語言排名

Python 的各種應用(搭配函式庫)

  • 網路爬蟲

  • 後端資料庫

  • Discord Bot

  • NumPy 數學運算

  • Pandas 數據分析

  • Pytorch 深度學習

  • Pygame 遊戲開發

  • OpenCV 視覺辨識

  • Tkinter 桌面應用 GUI

  • 網頁前端開發(Django、Flask)

Python 基礎語法(今日課程)

  • 變數與資料型態

  • 輸出與輸入

  • 運算符

  • 條件判斷式

  • 迴圈

輸入與輸出

  • 我們可以輸入資料給電腦

  • 也可以用輸出把資料打印出來

如何輸出一段文字?

  • 使用 print( ) 函式

  • 在括號中加入你想說的話並用 " " 把它包起來形成字串

print("hello, world")

語法練習 - 輸出

使用 google colab 撰寫 Python 程式

  1.  > 檔案 > 新增筆記本

  2. 可新增程式碼 每個區塊為一份 可單獨執行

  3. 可新增文字區塊 自己做筆記

如何輸入?

  • 使用 input( ) 函式

  • 外面包一層 print 輸出看看

print(input())

變數與資料型態

  • 想像成可以裝東西的箱子

  • 可以幫箱子取名,但有限制

    • 第一個字只能是英文字母或是底線

    • 不能有除了底線以外的特殊符號 (例如 @, #, % …)

  • 取好變數名稱可以增加易讀性

my_name = "ShiYu"
age = 17

變數與資料型態

> 變數的資料型態有很多種

  • 字串
  • 整數
  • 浮點數
  • 布林值

輸入與輸出的結合

name = input()
print("my name is",name)

語法練習 - 輸入

運算符

算術

  • +

  • -

  • *

  • /

  • % 取餘數

  • ** 次方

比較

  • >

  • <

  • ==

  • >=

  • <=

  • !=

邏輯

  • and

  • or

  • not

算術運算符

> 利用程式幫我們做四則運算

a = 1
b = 2
c = a + b
print("a + b =", c)

比較運算符

  • 幫我們比較左右兩邊的數字或文字

  • 會回傳一個 0/1 的 bool 結果 代表是否成立

a = 1 < 2
b = 1 > 2
print(a)
print(b)

邏輯運算符

  • 幫我們連接不同的算式

a = 1 < 2 and 2 > 3
b = 1 < 2 or 2 > 3
print(a)
print(b)

進階輸入 - 搭配 a002

a,b = map(int,input().split())
c = a + b
print(c)

語法練習 - 運算

條件判斷式

條件判斷式

  • 可以依照條件是否成立來執行特定程式碼

score = int(input())
if score >= 60:
  print("及格")
elif score >= 40:
  print("你要去補考")
else:
  print("你被死當了 哈哈")

語法練習 - 判斷式

  • d064

  • d058

  • d068

  • a003

  • d460

給 15 分鐘 能寫多少就寫多少

迴圈

重複執行相同的程式碼

for i in range(10):
  print(i)
  • for 迴圈:重複執行特定次數

  • while 迴圈:重複執行直到條件不成立為止

i = 0
while i < 10:
  print(i)
  i += 1

迴圈中的流程控制

for i in range(10):
  
  if i == 5:
    continue
    
  print(i)

可在特定條件下控制迴圈的流程

  • continue:跳過此次

  • break:退出迴圈

i = 0
while i < 10:
  
  if i == 5:
    break
    
  print(i)
  i += 1

語法練習 - 迴圈

  • d498

  • d046

  • b294

  • c022

一串數字轉成 list
(搭配d046)

a = int(input())
b = list(map(int,input().split()))
for i in b:
  print(i)

應用與實作

可以利用剛剛學到的 Python 語法
自行實作一份小型專案
主題不限 可以自己想
如果沒想法的話這邊提供一些方向

  • 終極密碼 - 猜數字遊戲

  • 剪刀石頭布

  • 成績計算器

可以參考我三年前寫的範例

今天上午的課程先到此結束
但程式的學習之路才剛開始

希望大家能持續學習!

給有基礎的人

學習資源

推薦社群

Made with Slides.com