---
# System prepended metadata

title: stanCode class 3

---

# stanCode class 3
## print(string)
可以印出想要的文字
    
    文字:string(str)
    可以用"文字"
    也可以'文字'(first priority)

"what's up"(若文字中有單引號，就用雙引號)

## console(會內建在電腦裡)
    
    File Path
    Your Prints
    
    Exit Code
        #為了跟她說有沒有成功
        #視窗關掉後看，0代表成功、1代表無限迴圈被強迫停下來
        
Fun Fact:不為人知的祕密
alpaca:草尼馬

    print('str')
    #換行print
    print('str', end="")
    #不換行print
    #用""或''都可以

## Variable
    
    
    <function>:gives codes meaning
    <variable>:give data meaning
    
### Data Types
    int integer 整數 EX: 0,1,2,...
    float real-number 實數 EX:3.14,2.0,...
    str string 文字 EX:'Hi',"Hi"
    bool bollean 布林 True/False, 判斷正確與否

### creating a variable(箱子/代名詞)
    height <---- 183(int)
    pi<---------3.14(float)
    name<-------'Jerry'(str)
    #有加引號的是data，沒加的是箱子
    is_weekday<--True(bool)
    
    height = 183(int)
    pi = 3.14(float)
    name = 'Jerry'(str)
    is_weekday = True(bool)   
    # = >>assign(右值丟左箱)
    # == (equaals)
    
    可以把舊的值換掉(reassign)，但舊的就找不到了
    直接打新的，就可以換掉了
    
    新定義
    ten_years_ago=height-10
    
a=1.0
a=a+1 #2.0
a=a-1 #1.0
a=a*10 #10.0
a=a/2 #5.0
    
    a=a+1    a+=1
    a=a-1    a-=1
    a=a*10   a*=10
    a=a/2    a/=2
    可以少寫一個a

為什麼還要有int,都有float了?
    float的儲存空間比較大(?但現在比較不注重空間
    float沒有next的概念
    要去計算就要用int，int才有可數的特性

### naming
    No white spaces
        (use underscore)
    Can't start with number
        避免資料與變數混合
    No reserved words
        (有變色的地方代表被用走了)
    *case-sensitive
        大小寫會代表不同的東西
    *keep it lower case
        一律用小寫!!!

#### Get user inputs
    <Get int>
    meal=int(input('文字'))
    <Get float>
    tax=float(input('文字'))
    # prompt:透過'文字'來告訴使用者知道input什麼值
        一個提示，但會等待你輸入

print內一定要文字
    所以有數字要把它變成文字(變成相同type)
    用+:concatenation(串起來)
        前後也要加上''

##### 小問題:電腦表達不出0.6
因為電腦是二進位
        
##### concatentation
    print('Total:'+'total\') #Total:total
    print('Total:'+str(total)) #Total:550.0
    
## Expression
+,-,*,/,//,%

    <precedence>
    ()
        *,/,//,%
            +,-

### Mod%
取餘數
    7%5 == 2
    2%3 == 2
    
    turn_left()13次
        13%4 == 1
    odd/even
        x = int(input('?'))
        x%2 == 0 >>even
        x%2 == 1 >>odd
        
### / & //
    <float division> /
    #因為式float，所以出來一定是float
        3/2 == 1.5
        4/2 == 2.0
    <floor division> //
        #int//int == 出來一定是int
        #因為是floor所以往下找整數取
        3//2 == 1
        4//2 == 2
        -1//2 == -1
        6//1.5 == 4.0
        #int//float == 會變成float
            ##只要跟float運算都會變成float，會選擇用比較大的箱子
        9.0//5 == 1.0
            #出來會是1.8
            #floor往下取，所以是1.0
            
### Type Casting
用來控制出來是int還是float

    int(3/2) == 1
    # int()做無條件捨去
    float(3//2) == 1.0
    Ex:
        float(-1//2) == -1.0
        int(-1/2) == 0

#### Kahoot
Q1:
    a1 = int(-5/2) #-2
    a2 = int(-5//2) #-3
Q2:
    x=5
    y=float(x)//2
    x+=1
    #除非做reassign，不然值不會變
    #儘管第二行被運算，仍不會改變X的值
        x = 6
        y = 2.0
Q3:
    2* 4//10+2* 2%4
    2* 4//10 #0
    2* 2%4 #0
        total=0
        
### Data types
    int
    float
    str
    'bool'

#### bool
    b1=True  / b1=5>2
    b2=False / b2=5<2
    
#### boolean operators
>,<,>=,<=
==,!=,not,and,or
#!=代表不等於
    
    b3=3==3
    b3=True
    
##### Short Circuit Evaulation
    and一個錯，就false
    or一個對，就true

###### even or odd
    x = int(input('Give me an int:'))
    if x%2==0:
        print("It's even!")
    else:
        print("It's odd!")
        
##### score
    score=int(input('Score'))
    if score>=90:
        print('A')
    else:
        if score>=80:
            print('B')
        else:
            if score>=70:
                print('C')
            else:
                print('fail')

###### Cascading if 疊帶
    else:
        if condition:
    寫成 elif condition:
    
    <<擇一執行>>
    score=82
    if score>=90:
        print('A')
    elif score>=80:
        print('B')
    elif score>=70:
        print('C')
    else:
        print('fail')
        
        
    <<....>>    
    score=82
    if score>=90:
        print('A')
    if score>=80:
        print('B')
    if score>=70:
        print('C')
    else:
        print('fail')

### Constant
要做一個常數，要放在def main上方

    PI=3.14
    def main():
* All upper cases
* Above def main()
* 牽一髮動全身
    * 把PI=3.14變成PI=3.14159265358979326
    * 全部都可以變成這麼精確
    * 常數除了def main()上方，其他地方不能改




