基礎程式觀念 === **作者 - 張若芯 編輯 - BESTCI跨域人才程式能力培育計畫 / NTU BESA** **項目** ==Data type、Variable== ==Assign、Type Casting、Input、numerical calculation== **共筆內容** ## Data type * Int (integer) 整數 - 1 (int) - Height = 183 (int) - 有下一個的概念 * Float (real-number) 實數 - 3.14, 2.0 (float) - Pi = 3.14 (float) - 無下一個的概念 * Str (string) 文字 - “Hi” 單引號及雙引號內為字串 - Name = ‘Jerry’(str) - 可用+或,來串連字串 * Bool (Boolean) - Is_weekday = True (bool) - True/False ## Variable * Function – gives **codes** meaning * Variable – gives **data** meaning Naming 命名變數通則 1. No white spaces - use underscore 2. Can't start with numbers - 避免使用數字開頭資料與變數混淆 3. No reserved words - 系統關鍵字(常數、運算字、簡單陳述、複合陳述、定義)不可作為變數,像是for while, def, print, and, while等會變色之字 4. Case-sensitive - 大小寫是不一樣的,系統會偵測為不同東西,例如name和Name是不一樣的 5. keep it lower case - 變數盡量使用小寫 ## Assign = 一個等號是表示右值丟左箱,可以換值(reassign),但前一個數值就會消失 == 兩個等號是數學上的等於之意 a=1.0 a=a+1 (a+=1) #2.0 a=a-1 (a-=1) #1.0 a=a10 (a=10) #10.0 a=a/2 (a/=2) #5.0 ## Type Casting Float dividion / 與 Floor division // 兩者間差異 * Float dividion / - 3/2==1.5 - 4/2==2.0 - 相除後的數值皆以float表示 * Floor division // - int除以int得到int - 3//2==1 - 4//2==2 - -1//2==-1 - -1除以2為-0.5,往下取下一個整數是-1 - int除以float得到float - 6//1.5==4.0 - float除以int得到float - 9.0//5==1.0 - 9.0除以5,往下取一個整數為1.0 * 轉換為整數 Int(3/2)==1 Int(-1/2)==0 > 無條件捨去float,使之進入int (只取整數) * 轉換為實數 - Float(3//2)==1.0 - Float(-1//2)==-1.0 三題例題如下 (Q1) a1=int(-5/2) #-2 a2=int(-5//2) #-3 a1及a2的差異處是 - /為無條件捨去float,使之進入int (只取整數) - //為往下取一個整數,所以-5//2,往下取一個整數是-3 (Q2) X=5 Y=float(x)//2 #2.0 X+=1 X=X+1 #6 (Q3) 2*4//10+2*2%4 #0 ## Input * Get in - meal=int(input(文字)) - 文字為prompt : 提示的意思 - Meal為變數 * Get float - tax=float(input(文字)) * 在console印出String,並且可以使用**+**連結字串 - print('文字') ## Numerical calculation Expression 表示法 順序: 左到右,括弧內優先計算 - 加法 + - 減法 - - 乘法 * - 除法 / - 除法(取整數) // - 次方 ** - 取餘數(mod) % * Mod% 取餘數 - 7%5=2 - 2%3=2 可以使用取餘數來做的事: 1. 讓karel執行turn_left() - 13%4==1 2. odd/even - X=int(input(‘?’)) - X%2== 0 even - X%7== 1 odd
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up