To b98902029/r02944039 / 劉雨鑫 from C++ 1. 2 3 4.

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

第一單元 建立java 程式.
Introduction to C Programming
計算機程式語言實習課.
補充: Input from a text file
File Access 井民全製作.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
Project 2 JMVC code tracing
Chapter 5 迴圈.
Python A Comprehensive Programming Language
C#.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
臺北市立大學 資訊科學系(含碩士班) 賴阿福
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Visual C++ introduction
物件導向程式設計 CH1, CH2.
簡易C++除錯技巧 長庚大學機械系
JDK 安裝教學 (for Win7) Soochow University
JAVA 程式設計與資料結構 第六章 輸出與輸入.
Java程式概觀.
1. 檔案File  開新New  檔案Empty File (再另存新檔D:\hello.c)
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
雲端計算.
Java 程式設計 講師:FrankLin.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
程式設計實習課(四) ----C 函數運用----
虛擬機器 下載QEMU Windows版 (0.9.1) 下載Kqemu Windows版 安裝QEMU 安裝Kqumu
Java程式設計 Eclipse.
第一單元 建立java 程式.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
雲端計算.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
Introduction to C Programming
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
C语言环境配置.
Install OpenCV C++ with Visual Studio 2017 on Windows PC
期末考.
挑戰C++程式語言 ──第8章 進一步談字元與字串
如何使用Gene Ontology 網址:
C qsort.
雲端計算.
挑戰C++程式語言 ──第7章 輸入與輸出.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
函數應用(二)與自定函數.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
安裝JDK 配置windows win7 環境變數
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
適用於多選一 可減少if 與 else配對混淆的錯誤.
Programming & Language Telling the computer what to do
開發Java程式語言的工具 JDK.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
Array(陣列) Anny
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Unix指令4-文字編輯與程式撰寫.
Develop and Build Drives by Visual C++ IDE
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

to b /r / 劉雨鑫 from C++ 1

2

3

4

你是否想知道 眾多程式設計師口中優雅的語言 5 志玲姐姐

6

第一印象 Python 才有的東西 7

直譯 : 不用經過編譯就能執行 .py 程式碼檔 (source file) 就是 執行檔 (executable file)  不過系統要先安裝好 python 環境 8

直譯 : 不用經過編譯就能執行 互動式命令列 9 interpret.py

int 就支援大數 10 big_number.py

易讀多行字串 multi-line string 11 前後三個 單引號 或 雙引號 multiline_string.py

更易懂的條件式 12 兩種都可以喔 conditional_statement.py

即時反應錯誤 13 沒有給初始值 就拿來運算 把 str 當 int 用 error_report.py

支援中文變數 14 背影.py

一行 http server python -m http.server 15

Python 簡介 歷史、哲學、應用 16 Chapter02_introduction

簡介  python 是體型一般較龐大的無毒蛇類  1989 年的聖誕節期間,吉多 · 范羅蘇姆為了 在阿姆斯特丹打發時間,決心開發一個新的腳 本解釋程式, python 就此誕生吉多 · 范羅蘇姆阿姆斯特丹  目前版本 /  Python 的官方直譯器是 Cpython ,該直譯器 用 C 語言編寫,是一個由社群驅動的自由軟體, 目前由 Python 軟體基金會管理 吉多 · 范羅蘇姆 17

設計哲學 「優雅」、「明確」、「簡單」 高 階語言(比起 Java 、 C++ 、 C ) 18

TIOBE 程式語言排名 來源: 19

20 TIOBE 程式語言排名

應用範圍 以下這些都在內部 大量地 使用 Python 21

你學 python 可以 …  開發任何程式  快速寫出範本程式;如果速度要快,再用 C 寫  強大的計算機  寫出跟虛擬碼 (pseudo code) 很像的 code  HP code wars  變成大蟒蛇  And so on… 22

計算機 vs 手算數學 好用 vs 考試用 23

環境安裝、設定 for windows7 24 Chapter03_setup

環境安裝、設定:概要 1. 安裝 python 2. 安裝 notepad++ 3. 設定 notepad++ 4. 設定環境變數 PATH 本體 萬用編輯器 命令列 25

1. 安裝 python 下載安裝檔 例: python msi 下一步安裝法 :D 26

2. 安裝 notepad++ (optional) 下載安裝檔 例: Notepad++ Installer Notepad++ Installer 依然下一步安裝法 :3 27

2+. 設定 notepad++ (recommend) 解決編碼問題,支援所有語言文字 28

2+. 設定 notepad++ (optional) 、 是 python code 重要的一部分 29

4. 設定環境變數 PATH (part1) 從 cmd 進入 Python 前,要先讓系統「認得」 ”python” 在哪,因此要設定「 PATH 」 30

4. 設定環境變數 PATH (part2) PATH 的值 (value) 設定為 python 安裝資料夾,目前是 C:\Python33 記得跟你資料 夾名稱一樣 31

HelloWorld 開始  cmd  python  print(“HelloWorld”) 32

互動式命令列  cmd 輸入 python 或 py ,進入 Python 的「互動式命令列」  離開互動式命令列:輸入 exit() 或 ctrl+Z  互動式命令列 就是 一個良好的 python 測試環境  也可以當作強大的計算機 33

執行程式:拖進 cmd  真正要寫程式,還是會將程式碼存成.py 檔,再一口氣執行  (系統要先安裝 python ,才能直接執行.py )  為了在程式遇到錯誤跳出時,仍可以看到完整的錯誤訊息  我們可以用拖曳的方式,在 cmd 裡執行.py 檔  (建議路徑不要包括英文以外的字元) 34

Practice (optional) 35 trial.py

I/O input() / print() 36

基本輸出: print() 37 print.py

小知識: help() 38 直接在 互動式命令列 查詢函式的用法

Python vs C :輸入的不同 In C : scanf(“%d”,&a); scanf(“%f”,&a); scanf(“%s”,&a); 代表什麼? a 是 int / float / string 的行為會一樣嗎? 其實 C 有幫我們把 輸入的 string 轉成 變數的型態 In Python : python 的輸入 input() input() 是一個 函式,有 回傳值 (就是 輸入的 string ) 沒有幫我們把轉成任何 變數型態 39

基本輸入: input() 40 使用者輸入的 input.py input() 以 行 為單位 就算 空白行 也是 行

int 整數 41 Chapter05_int * * / /

Python class ‘int’ + - * / // % ** 42 int __add__ __sub__ __mul__ __div__ __floordiv__ __mod__ __pow__

新增整數變數、四則運算 Elementary arithmetic 43 Elementary_arithmetic.py

小知識: python 的註解 單行註解: # 之後到換行為止都是註解(所以最多註解單行) 多行註解:利用多行字串 ””” … ””” 44 comment.py

指定運算子 = 45 Assignment_operator.py

變數交換 變數 A 要跟變數 B 交換, C++ 怎麼做? In Python : A, B = B, A 46 swap.py

小知識:型態承受力 47 整數整數 語言 pythonC/C++ 型態 intlong int 記憶體大小不固定 8 byte4 byte 數值大小不固定

練習:銀行計息 deposit 48 deposit.py

string 字串 49 Chapter06_string ‘H’‘a’‘t’‘s’‘u’‘n’‘e’‘M’‘I’‘k’‘u’

Python class ‘str’ + * len( ) [ ] 50 str __add__ __mul__ __len__ __getitem__

新增字串變數、加乘運算 string operation 51 string_operations.py

易讀多行字串 multi-line string 52 前後三個 單引號 或 雙引號 multiline_string.py

藉由 input 得到 string love announcement 53 love_anouncement.py

取得字串長度 len() 、取出其中一字 [ ] 54 str_getitem.py / str_getitem.cpp 對 ASCII 以外不友善 完整支援中文

跑一遍整個字串 55 str_join.py 怎麼做?

Control Flow 程式流程控制: if 、 while 56 Chapter07_ControlFlow 開始 結束 成績 >=60 ? 輸出 ” 合格 ” 讀取成績 輸出 ” 當掉 ” 回報結果

何謂好的排版? 57 讓人看起來舒服,層次分明的就是好排版 秘訣:每個區塊都有一條神聖不可侵犯的對齊線 99_bad.cpp / 99.cpp

九九乘法表 py / 99.cpp

59 區塊 0 開頭 條件 列: 區塊 1 開頭 條件 列: 區塊 2 區塊 0 開頭 ( 條件 ) 列 { 區塊 1 } 開頭 ( 條件 ) 列 { 區塊 2 } 區塊 1 if/while pythonC/C++ elifelse if Truetrue Falsefalse and&& or|| not! 流程差異對照表 保留字對照 使用 、 對齊吧

list 串列 60 Chapter08_list L[0]L[1]L[2] ‘ 成功巴士 ’ L[3]L[4] 20.8 ‘297’

Python 串列 (list) vs C/C++ 陣列 (array) A[0]A[1]A[2]A[3]A[4] int A[5]; L[0]L[1]L[2] L = [ ‘ 成功巴士 ’, 265, 15 ] ‘ 成功巴士 ’ L[3]L[4] 20.8 ‘297’ 綁定型態 長度固定 不綁型態 長度可變 + [ 20.8, ‘297’ ]

Python class ‘list’ 62 像是 C++ 的陣列加強版:每一格可以塞任何種類的變數、長度可以任意延伸 + * len( ) [ ] list __add__ __mul__ __len__ __getitem__

功能都很直覺 63 len( )[ ]+* Q:如何做到 C++ 的 int a[50]; A: a = [0] * 50 list_op.py

取出子部分 C++ 當中,我們該怎麼印出陣列 A 第 3~7 格的元素? for( int i=3 ; i<8 ; i++ ){ cout << A[i] << endl; … } In Python A[3:8] 64

取出子部分 [ : ] 65 [ a:b ] 可以讓我們取出 str 或 list 從 第 a( 包括 ) 個元素 開始到 第 b( 不包括 ) 個元素 的子部分 省略的話, 會幫你補上 開頭或結尾

dict 字典 66 Chapter09_dict 123 ‘ 雙十 ’ 1010 ‘ 萌節 ’ ‘ 自由日 ’ 1225 ‘ 聖誕節 ’ keyvalue

Python class ‘dict’ 67 字典:以 int 、 str 等 hashable 的 key 儲存 沒有順序關係的 value len( ) [ ] dict __len__ __getitem__

新增字典、取用 68 紅藍都是新增的方法 注意: 101 是 int ‘ 成功高中 ’ 是 str dict.py

del : 刪除元素 69 適用於 list 、 dict… dict list del.py

for :將所有的子元素拿出來一次 70 for 子元素 in 元素集合: 區塊 1

for :將所有的子元素拿出來一次 71 元素集合: str 、 list 、 dict… dict list str 照順序 順序難以捉模 拿出來的是 key for.py

function 函式(函數) 72 Chapter10_function 電費計算系統 (函式) 電費計算系統 (函式) 電表度數(傳入值) 電費(回傳值)

定義函式 73 def 函式名稱 ( 參數 1, 參數 2, 參數 3… ) : do anything you want return 回傳值 1, 回傳值 2… 沒錯!可以 回傳多個變數 回傳型態 函式名稱 ( 參數型態 1 參數 1, 參數型態 2 參數 2, … ){ do anything you want return 回傳值 ; }

費波那西數列: 1, 1, 2, 3, 5, 8, 13… 74 fib.py

小排序:多個回傳值 75 sort.py

Homework 76 Practice

hw1 輸入若干 n 個數字,輸出指定第 k 大的數字。如果 k=0 就結束程式。 Sample input: Sample output: 第 3 大的數字是 35 第 2 大的數字是 47 第 4 大的數字是 29 第 1 大的數字是 77 Hint: 1.array 2.What we mentioned in class. 77

hw2 寫一個 python 程式來判斷輸入字串有沒有雙回文。 ( 回文 : aba / a)( 輸入字串不會有空白 ) ( 是不是兩個回文字串黏在一起 ) Sample input:abcbaacca Sample output: yes, abcbaacca = abcba + acca Sample input:abcbaca Sample output:no, abcbaca is not a double palindrome Hint: 1.Write a function to determine whether an input string is a palindrome. 2.What we mentioned in class. 78

C 到 python 一眼看去 不用打 ; scanf / printf 變成 input / print 變數不用宣告 變數名稱沒有綁住型態 while / if 的 ( ) 變成 : while / if 的 { } 改為用排版 else if 變成 elif true / false 變成 True / False 沒有 i++ / i-- for 有別的用途 input / print 預設是以整行為單位 強迫你排版好看 ! 請用 i+=1 / i-=1 79

學測分發: function 也可當變數傳 80 ability_exam.py

math 函式庫 math 函式庫的用法都是 math. 函數名稱 ( 引數 ) ,使用上非常的簡單,唯一需要 注意的就是引入的型態必須要是正確的數值型態。 常用的函式有:開根號 math.sqrt 、三角函數 math.sin, math.cos…… 、對數 math.log, math.log10…… 81

參考資料與延伸學習  Python 官方教學,  Python 官方函式庫,  Mark Lutz 《 Python 學習手冊》  台大資訊營 python 講義 by 姜姜  OpenFoundry 活動,  雪凡與好朋友們的 Ren'Py 遊戲引擎初學心得提示  Codecademy ,  Wiki 條目《 Python 》,  TIOBE ,  黃佑仁 b 成功高中實習中  Google “Python3 教學 ” 、 “Python3 tutorial” 、 ” 雪凡與好朋友 …” ! 82

THE END 課堂有限,學海無涯。 自學才是王道! 83

Bonus: Linux 工作站的一些用法 Connention: Pietty Fileupload: Filezilla(Client) Information sftp://linux6.csie.ntu.edu.tw 權限與資料夾命名 /.foldername/ 84