網頁

2025年10月6日 星期一

TQC+ Python 證照考題評量(五十四) - 平均溫度

 一、主題介紹:

資料庫中的一堆數據資料,時常需要這些資料的平均值、最大值、與最小值,作為分析資料的依據,如能透過寫程式讓它們自動化就能增加效率,就來看看今天的 TQC+ 考題的練習。

(1) 題目

請撰寫一程式,讓使用者輸入四週各三天的溫度,接著計算並輸出這四週的平均溫度及最高、最低溫度。

提示1:平均溫度輸出到小數點後第二位。
提示2:最高溫度及最低溫度的輸出,如為31時,則輸出31,如為31.1時,則輸出31.1。

(2) 輸入輸出

#輸入

四週各三天的溫度。

#輸出

四週的平均溫度及最高、最低溫度。

#範例輸入

Week 1

Day 1:23.1

Day 2:24

Day 3:23.5

Week 2

Day 1:32

Day 2:33

Day 3:35.3

Week 3

Day 1:29

Day 2:30

Day 3:26

Week 4

Day 1:27.6

Day 2:25

Day 3:28.8

#範例輸出

Average: 28.11

Highest: 35.3

Lowest: 23.1



二、程式範例:


1. temps = ['' for _ in range(12)]
2. sum = 0
3. i = 0
4. for w in range(4):
5.     print(f"Week {w+1}")
6.     for d in range(3):
7.         print(f"Day {d+1}:",end='')
8.         temps[i] = eval(input())
9.         sum += temps[i]
10.         i += 1
11. print(f"Average: {sum/len(temps):.2f}")
12. print(f"Highest: {max(temps)}")
13. print(f"Lowest: {min(temps)}")

#執行結果

Week 1

Day 1:23.1

Day 2:24

Day 3:23.5

Week 2

Day 1:32

Day 2:33

Day 3:35.3

Week 3

Day 1:29

Day 2:30

Day 3:26

Week 4

Day 1:27.6

Day 2:25

Day 3:28.8

Average: 28.11

Highest: 35.3

Lowest: 23.1



三、程式解說:

第 1 行: 宣告空串列 temps。

第 2~3 行: 宣告變數初始化 sum=0、i=0。

第 4~10 行: 使用雙迴圈 for 將使用者輸入的 4 週 3 日的溫度字串轉換為數值後存入串列中。

第 11 行: 列印輸出平均值至小數點第 2 位。

第 12 行: 列印輸出最大值。

第 13 行: 列印輸出最小值。





2025年10月5日 星期日

TQC+ Python 證照考題評量(五十三) - 矩陣相加

 一、主題介紹:

數學課程內容中的矩陣相加,時常會應用在學生成績的統計、公司銷售季及年度業績統計..等中,所以如果懂得使用矩陣相加程式,就可以讓它自動化呈現所需要的報表,再也不需要花費過多時間做人工計算,接下來我們來看看 TQC+ 考題怎麼說。

(1) 題目

請撰寫一程式,讓使用者建立兩個2*2的矩陣,其內容為從鍵盤輸入的整數,接著輸出這兩個矩陣的內容以及它們相加的結果。

(2) 輸入輸出

#輸入

兩個2*2矩陣整數資料

#輸出

兩個矩陣內容及相加的結果

#範例輸入

Enter matrix 1:

[1, 1]: 3

[1, 2]: 5

[2, 1]: 7

[2, 2]: 5

Enter matrix 2:

[1, 1]: 6

[1, 2]: 9

[2, 1]: 8

[2, 2]: 3

#範例輸出

Matrix 1:

3 5

7 5

Matrix 2:

6 9

8 3

Sum of Matrices:

9 14

15 8



二、程式範例:


1. nums1 = [['' for _ in range(2)] for _ in range(2)]
2. nums2 = [['' for _ in range(2)] for _ in range(2)]
3. sums = [['' for _ in range(2)] for _ in range(2)]
4. for i in range(2):
5.     if i==0: A=nums1
6.     elif i==1: A=nums2
7.     print(f"Enter matrix {i+1}:")
8.     for j in range(2):
9.         for k in range(2):
10.             print(f"[{j+1}, {k+1}]: ",end='')
11.             A[j][k] = eval(input())
12. for j in range(2):
13.     for k in range(2):
14.         sums[j][k] = nums1[j][k] + nums2[j][k]
15. print("Matrix 1:")
16. for i in range(2):
17.     print(f"{nums1[i][0]} {nums1[i][1]}")
18. print("Matrix 2:")
19. for i in range(2):
20.     print(f"{nums2[i][0]} {nums2[i][1]}")
21. print("Sum of Matrices:")
22. for i in range(2):
23.     print(f"{sums[i][0]} {sums[i][1]}")

#執行結果

Enter matrix 1:

[1, 1]: 3

[1, 2]: 5

[2, 1]: 7

[2, 2]: 5

Enter matrix 2:

[1, 1]: 6

[1, 2]: 9

[2, 1]: 8

[2, 2]: 3

Matrix 1:

3 5

7 5

Matrix 2:

6 9

8 3

Sum of Matrices:

9 14

15 8



三、程式解說:

第 1~3 行: 宣告三個空串列變數 nums1、nums2、sums。

第 4~11 行: 使用三迴圈 for 將使用者輸入的整數字串轉換為數值後存入串列中。

第 12~14 行: 將兩個串列 nums1、nums2 相加後存入串列 sums 中。

第 15~17 行: 列印輸出第 1 組輸入的 nums1 矩陣資料。

第 18~20 行: 列印輸出第 2 組輸入的 nums2 矩陣資料。

第 21~23 行: 列印輸出加總的 sums 矩陣資料。







2025年10月4日 星期六

TQC+ Python 證照考題評量(五十二) - 最大最小值索引

 一、主題介紹:

在一堆數值中找尋最大值與最小值的位置,不論是資料分析的股價最高與最低的時間點、演算法設計的排序或搜尋、影像處理的圖片亮度最高與最低像素點位置、感測器數據處理的偵測溫度最高或最低的時間區間..等很多地方的應用都用得到,今天就來學習底下的 TQC+ 考題練習。

(1) 題目

請撰寫一程式,讓使用者建立一個3*3的矩陣,其內容為從鍵盤輸入的整數(不重複),接著輸出矩陣最大值與最小值的索引。

(2) 輸入輸出

#輸入

9 個不重複的整數

#輸出

矩陣最大值與最小值的索引

#範例輸入

6

4

8

39

12

3

-3

49

33

#範例輸出

Index of the largest number 49 is (2, 1)

Index of the smallest number -3 is (2, 0)



二、程式範例:


1. nums = [ [ '' for _ in range(3)] for _ in range(3)]
2. for i in range(3):
3.     for j in range(3):
4.         nums[i][j] = eval(input())
5.         if i==0 and j==0:            
6.             minnum = nums[i][j]
7.             maxnum = nums[i][j]
8.         if nums[i][j]>maxnum:
9.             max_x = i
10.             max_y = j
11.             maxnum = nums[i][j]
12.         elif nums[i][j]<minnum:
13.             min_x = i
14.             min_y = j          
15.             minnum = nums[i][j]
16. print(f"Index of the largest number {nums[max_x][max_y]} is ({max_x}, {max_y})")
17. print(f"Index of the smallest number {nums[min_x][min_y]} is ({min_x}, {min_y})")

#執行結果

6

4

8

39

12

3

-3

49

33

Index of the largest number 49 is (2, 1)

Index of the smallest number -3 is (2, 0)


三、程式解說:

第 1 行: 宣告 3x3 空串列。

第 2~15 行: 使用雙迴圈將輸入數值字串轉換為數值後儲存於串列中,並比較找出最大值與最小值,及其索引位置。

第 16 行: 列印輸出最大值及其位置索引值。

第 17 行: 列印輸出最小值及其位置索引值。





2025年10月2日 星期四

TQC+ Python 證照考題評量(五十一) - 成績計算

 一、主題介紹:

學校裡的老師時常遇到需要計算學生的成績、平均及排名,而且重複做此工作,既繁雜且花費時間,如果能夠透過程式讓重複的工作自動化,那真的可以改善很多,接下來就讓我們透過以下的 TQC+ 考題來學習怎麼讓成績計算自動化。

(1) 題目

請撰寫一程式,讓使用者輸入三位學生各五筆成績,接著再計算並輸出每位學生的總分及平均分數。

提示:平均分數輸出到小數點後第二位

(2) 輸入輸出

#輸入

三位學生各五筆成績

#輸出

每位學生的總分及平均分數

#範例輸入

The 1st student:

78

89

88

70

60

The 2st student:

90

78

66

68

78

The 3st student:

69

97

70

89

90

#範例輸出

Student 1

#Sum 385

#Average 77.00

Student 2

#Sum 380

#Average 76.00

Student 3

#Sum 415

#Average 83.00



二、程式範例:


1. scores = [[0 for _ in range(7)] for _ in range(3)]
2. for i in range(3):
3.     print(f"The {i+1}st student:")
4.     for j in range(5):
5.         scores[i][j] = eval(input())
6. for i in range(3):
7.     sum = 0
8.     for j in range(5):
9.         sum += scores[i][j]
10.     scores[i][5] = sum
11.     scores[i][6] = sum / 5
12. for i in range(3):
13.     print(f"Student {i+1}")
14.     print(f"#Sum {scores[i][5]}")
15.     print(f"#Average {scores[i][6]:.2f}")

#執行結果

The 1st student:

78

89

88

70

60

The 2st student:

90

78

66

68

78

The 3st student:

69

97

70

89

90

Student 1

#Sum 385

#Average 77.00

Student 2

#Sum 380

#Average 76.00

Student 3

#Sum 415

#Average 83.00



三、程式解說:

第 1 行: 宣告串列 scores。

第 2~5 行: 使用雙迴圈 for 將輸入的三位學生成績存入串列中。

第 6~11 行: 使用雙迴圈 for 計算三位學生的總分及平均分數存入串列中。

第 12~15 行: 使用迴圈 for 列印輸出三位學生的總分及平均分數。






2025年10月1日 星期三

TQC+ Python 證照考題評量(五十) - 二維串列行列數

 一、主題介紹:

如何將行列資料存入二維串列中,這時常用於資料庫的存取中,所以是必須學會的絕活,接下來就透過 TQC+ 考題來學習二維串列的應用。

(1) 題目

請撰寫一程式,讓使用者輸入兩個正整數 rows、cols,分別表示二維串列lst 的「第一個維度大小」與「第二個維度大小」。

串列元素[row][col]所儲存的數字,其規則為:row、col 的交點值 = 第二個維度的索引col – 第一個維度的索引row。

接著以該串列作為參數呼叫函式compute()輸出串列。

提示:欄寬為4。

(2) 輸入輸出

#輸入

輸入兩個正整數

#輸出

輸出串列,欄寬為4

#範例輸入

5

10

#範例輸出

   0   1   2   3   4   5   6   7   8   9

  -1   0   1   2   3   4   5   6   7   8

  -2  -1   0   1   2   3   4   5   6   7

  -3  -2  -1   0   1   2   3   4   5   6

  -4  -3  -2  -1   0   1   2   3   4   5



二、程式範例:


1. def comput(y,x):
2.     datas = [[0 for _ in range(x)] for _ in range(y)]
3.     for i in range(y):
4.         for j in range(x):
5.             datas[i][j] = j - i
6.     for i in range(y):
7.         for j in range(x):
8.             print(f"{datas[i][j]:4}",end='')
9.         print('')
10.
11. rows = eval(input())
12. cols = eval(input())
13. comput(rows,cols)

#執行結果

5

10

   0   1   2   3   4   5   6   7   8   9

  -1   0   1   2   3   4   5   6   7   8

  -2  -1   0   1   2   3   4   5   6   7

  -3  -2  -1   0   1   2   3   4   5   6

  -4  -3  -2  -1   0   1   2   3   4   5



三、程式解說:

第 1 行: 定義函式 compute() 及 參數 y 與 x。

第 2 行: 宣告行列數的串列。

第 3~5 行: 使用 for 雙迴圈存入第二個維度的索引 col – 第一個維度的索引 row 的值。

第 6~9 行: 使用 for 雙迴圈列印輸出欄寬為 4 的串列資料的數值。

第 11 行: 將輸入的列正整數字串轉換為數值後存入 rows 變數中。

第 12 行: 將輸入的行正整數字串轉換為數值後存入 cols 變數中。

第 13 行: 將 rows、cols 數值帶入函式的參數中,經計算後列印輸出。


TQC+ Python 證照考題評量(五十四) - 平均溫度

 一、主題介紹: 資料庫中的一堆數據資料,時常需要這些資料的平均值、最大值、與最小值,作為分析資料的依據,如能透過寫程式讓它們自動化就能增加效率,就來看看今天的 TQC+ 考題的練習。 (1) 題目 請撰寫一程式,讓使用者輸入四週各三天的溫度,接著計算並輸出這四週的平均溫度及最高...