### ex3-1 ### # 錯誤的程式 >>> a = 3 # 將整數物件 3,指派給變數 a (初始化變數) >>> b = 2 # 將整數物件 2,指派給變數 b (初始化變數) >>> a = b + x # 錯誤!變數 x 未初始化 # 正確的程式 >>> a = 3 >>> b = 2 >>> x = a - b # 將變數 a 與 b 相減,將得到的新物件指派給 x (初始化變數) >>> x # 觀看變數 x 的值 ### ex3-2 ### >>> 'summer'.upper() # 將字串物件 'summer',透過字串物件的 upper() 的方法轉成大寫 ### ex3-3 ### >>> a = 1 >>> a ### ex3-4 ### >>> greeting = 'hello' # 將字串物件 'hello',指派給變數 greeting (初始化變數) >>> greeting.upper() # 透過字串物件的 upper() 的方法轉成大寫 ### ex3-5 ### >>> a = 1 + 2 # 將整數物件 1 與整數物件 2,相加後得到整數物件 3,並指派給變數 a (初始化變數) >>> a ### ex3-6 ### >>> score = 80 # 變數的值為整數 80 >>> fruit = '香蕉' # fruit 的資料型別為字串 (str) >>> a = b = c = 20 # 可以一起指定多個變數,具有相同的值 >>> age, name = 18, '王小明' # 也可以在同一列指定多個變數,以 , 分隔 >>> del score # 刪除變數 score ### ex3-7 ### >>> num1 = 34 # 整數 >>> num2 = 67.83 # 浮點數 >>> num3 = 34.0 # 整數要指定為浮點數資料型別 >>> flag = True # 布林值 >>> str1 = '這是字串' # 字串 >>> str2 = '小明說:"你好! "' # 變數值為:小明說:"你好! " >>> str3 = '大家好! \n 歡迎光臨!' # '歡迎光臨!' 會顯示於第二列 ### ex3-8 ### >>> type(56) # 結果為:int >>> type('How are you?') # 結果為:str >>> type(True) # 結果為:bool ### ex3-9 ### >>> type(None) # # 結果為:NoneType ### ex3-10 ### >>> num1 = 5 + 7.8 # 結果為浮點數 12.8 >>> num2 = 5 + True # 結果為整數 6 >>> num3 = 23 + '67' # 錯誤,型別不同無法運算 >>> num3 = 23 + int('67') # 正確,結果為 90 ### ex3-11 ### >>> score = 60 >>> print('小明的成績為 ' + score) # 錯誤,數值無法自動轉換為字串 >>> score = 60 >>> print('我的成績為 ' + str(score)) # 正確,結果為我的成績為 60 ### ex3-12 ### print('多吃水果') print(100, '多吃水果', 60) print(100, '多吃水果', 60, sep = '&') print(100, '多吃水果', 60, sep = '&', end = '') print('多喝水') ### ex3-13 ### # 以格式化方式列印字串與整數 name = '王小明' score = 80 print('%s 的成績為 %d' % (name, score)) ### ex3-14 ### # 參數格式化可以控制列印位置 price = 23.8 print('價格為%8.2f' % price) # 整數 23 的左方有 3 個空白字元 ### ex3-15 ### # 以字串的 format 函數列印字串及整數 name = '王小明' score = 80 print('{} 的成績為 {}'.format(name, score)) ### ex3-16 (3-1.py) ### print('姓名 座號 國文 數學 英文') print('%3s %2d %3d %3d %3d' % ('林大明', 1, 100, 87, 79)) print('%3s %2d %3d %3d %3d' % ('陳阿中', 2, 74, 88, 100)) print('%3s %2d %3d %3d %3d' % ('張小英', 11, 82, 65, 8)) ### ex3-17 ### # 讓使用者輸入數學成績,再列印成績 score = input('請輸入數學成績:') # 輸入完成,需按下 Enter 鍵 print(score) ### ex3-18 (3-2.py) ### # 輸入一個整數,並顯示其平方值 user_input = input('Enter a integer to find the square of: ') num = int(user_input) print(num * num) ### ex3-19 (3-3.py) ### # 輸入一個整數,顯示其平方值 (使用 input() 時,同時進行型別轉換) num = int(input('Enter a number to find the square of: ')) print(num * num) ### ex3-20 (3-4.py) ### # 輸入兩個浮點數,顯示其相乘的結果 num1 = float(input('Enter a number: ')) num2 = float(input('Enter another number: ')) print(num1, '*', num2, '=', num1 * num2) ### ex3-21 ### >>> 12 + 3 # 兩個運算元相加。結果為:15 >>> 12 - 3 # 兩個運算元相減。結果為:9 >>> 12 * 3 # 兩個運算元相乘。結果為:36 >>> 32 / 5 # 兩個運算元相除,取商。結果為:6.4 >>> 32 % 5 # 取得餘數。結果為:2 >>> 32 // 5 # 兩個運算元相除,取整數商。結果為:6 >>> 2 ** 3 # (運算元 1) 的 (運算元 2) 次方。結果為:8 ### ex3-22 ### >>> not(3 > 5) # 傳回與原來比較結果相反的值。結果為:True >>> not(5 > 3) # 結果為:False >>> (5 > 3) and (9 > 6) # 只有兩個運算元的比較結果是 True 時,才傳回 True,其餘情況都傳回 False。。結果為:True >>> (5 > 3) and (9 < 6) # 結果為:False >>> (5 < 3) and (9 > 6) # 結果為:False >>> (5 < 3) and (9 < 6) # 結果為:False >>> (5 > 3) or (9 > 6) # 只有兩個運算元的比較結果是 False 時,才傳回 False,其餘情況都傳回 True。結果為:True >>> (5 > 3) or (9 < 6) # 結果為:True >>> (5 < 3) or (9 > 6) # 結果為:True >>> (5 < 3) or (9 < 6) # 結果為:False ### ex3-23 ### >>> i = 1 >>> i = i + 3 # 結果為:4 >>> i = 1 >>> i += 3 # 即 i = i + 3。結果為:4 >>> i = 1 >>> i -= 3 # 即 i = i - 3。結果為:-2 ### ex3-24 ### >>> i = 10 # 初始化 i = 10 >>> i += 5 # 結果為:15 >>> i = 10 >>> i -= 5 # 結果為:5 >>> i = 10 >>> i *= 5 # 結果為:50 >>> i = 10 >>> i /= 5 # 結果為:2.0 >>> i = 10 >>> i %= 5 # 結果為:0 >>> i = 10 >>> i //= 5 # 結果為:2 >>> i = 10 >>> i **= 5 # 結果為:100000 ### ex3-25 (3-5.py) ### nat = input('請輸入國文成績: ') math = input('請輸入數學成績: ') eng = input('請輸入英文成績: ') sum = int(nat) + int(math) + int(eng) # 輸入值需型別轉換為整數 average = sum / 3 print('成績總分:%d,平均成績:%5.2f' % (sum, average))