資料的運算和處理

在這個小節中我們學習如何做數字資料的運算和字串資料的處理。
  1. 整數與浮點數的四則運算(+,-,*,/)

    • a**2 =\(a^2\)
    • a**0.5 =\(a^{\frac{1}{2}}=\sqrt{a}\)
    • if(...):
    • else(...):
    我們都拿過計算器做加減乘除的運算,學習PYTHON這個語言,首先要先能夠作出平常計算器就能夠做的事情。在這個程式中我們使用了整數和浮點數的四則運算,特別又引入了一個次方的計算。當我們要做數字的次方計算時,指數可以是整數也可以是實數,用兩個星號來代表指數。我們在程式最後做了一元二次方程式根的公式的應用,同時我們也看到了一個邏輯判斷。我們知道如果一元二次方程式的判別式(\(\Delta=b^2-4ac\))小於0,這個方程式的根是複數(complex number),否則應該是實數(real number)。利用if ... else...的邏輯判斷可以實現這樣的分類。

    I=24
    F=3.14
    print('I+F=',I+F)
    print('I*5=',I*5)
    print('I/5=',I/5)
    print('I**2=',I**2)
    print('I**0.5=',I**0.5)
    a=2.; b=3.; c=4.
    x1=(-b+(b**2-4*a*c)**0.5)/(2*a)
    x2=(-b-(b**2-4*a*c)**0.5)/(2*a)
    D=b**2-4*a*c
    print('b^2 - 4ac=',D)
    if(D >= 0):
        print('real roots: x1=',x1,'  x2=',x2)
    else:
        print('complex roots: x1=',x1,'  x2=',x2)
    
    I+F= 27.14
    I*5= 120
    I/5= 4.8
    I**2= 576
    I**0.5= 4.898979485566356
    b^2 - 4ac= -23.0
    complex roots: x1= (-0.7499999999999999+1.1989578808281798j) 
     x2= (-0.7500000000000001-1.1989578808281798j)
    
  2. 學習重點:for迴圈

    • for i in range(11): 從0開始到10結束每次增加1。
    • range(2,10,2) i= 2,4,6,8
    • S+=i 把S現有的數值再加上i的數值,得到的總和賦予為新的S值
    下面我們來實現連加法:\[S=\sum_{i=0}^{10} i \]
    S=0      # S為累加變數,還沒有開始進行累加之前必須先歸零。
    for i in range(11):  #從0開始到10結束每次增加1。
        S+=i             # S+=i  --> S=S+i  把S現有的數值再加上i的數值
        print(i,S)       # 得到的總和賦予為新的S值
    
    for i in range(2,10,2):  #從2開始到8結束每次增加2。
        print('i=',i)
    
    0 0
    1 1
    2 3
    3 6
    4 10
    5 15
    6 21
    7 28
    8 36
    9 45
    10 55
    i= 2
    i= 4
    i= 6
    i= 8
    
    \[S=\sum_{n=1}^{10} 2^{-n} \]
    S=0
    for n in range(1,10):
        S+=2**(-n)
        print(n,S)
    
    1 0.5
    2 0.75
    3 0.875
    4 0.9375
    5 0.96875
    6 0.984375
    7 0.9921875
    8 0.99609375
    9 0.998046875
    
    如果這個級數的項數趨近無窮大時會得到什麼結果呢?


    i%2 表示i被2除的餘數。
    S=0
    for i in range(1,20):
        if(i%2==0):
            S+=i
            print(i,S)
            
    for i in range(6,13):
        if(i%4==0):
            print(i,'是4的倍數')
        elif(i%4==1):
            print(i,'被4除餘1')
        elif(i%4==2):
            print(i,'被4除餘2')
        else:
            print(i,'被4除餘3')
    
    2 2
    4 6
    6 12
    8 20
    10 30
    12 42
    14 56
    16 72
    18 90
    6 被4除餘2
    7 被4除餘3
    8 是4的倍數
    9 被4除餘1
    10 被4除餘2
    11 被4除餘3
    12 是4的倍數
    
  3. 學習重點:字串資料的運算與處理

    字串資料可以利用加法將不同的資料變數結合在一起,可以利用字串的乘法將一段字串自我複製若干倍。可以透過len(string)函數,來查詢字串的長度。但是一個字串變數被定義了以後,就不可再隨意改變字串的內容,如果要改變字串的內容就要透過定義一個新的字串,來定義更新後的字串內容。

    s1='abcde'
    s2='12345'
    s3=s1+s2  #字串的加法
    print('s3=',s3)
    print('len(s3)=',len(s3))
    s4=s2*3   #字串的乘法
    print('s4=',s4)
    print('len(s4)=',len(s4))
    #s1[1]='B'   #字串定義之後不可再隨意更改內容
    #print(s1)   #這樣的語句會出現編譯錯誤
    s5=s1[0]+'B'+s1[2:]  #透過將字串切片、合併、再創新一個新的字串
    print('s5=',s5)
    
    s3= abcde12345
    len(s3)= 10
    s4= 123451234512345
    len(s4)= 15
    s5= aBcde
    



作業


自由練習1




自由練習2