AU Fundamentals of Python Programming-110-M1題庫(32)

M1 Problems:Q01-Q05

M1-Q01 單位換算:英哩轉公里

(時間限制:2秒)

問題描述: 試撰寫一程式,可由鍵盤輸入英哩(float),程式的輸出為公里(float),其轉換公式如下: 1 英哩 = 1.6 公里

輸入說明: 輸入欲轉換之英哩數(float)。

輸出說明: 輸出公里(float),取到小數點以下第二位,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

90.8

145.28⏎

95.4

152.64⏎

int(祕技):

Input: 使用float()函數將輸入的字串轉換成float變數

Process: 簡單的乘法計算

Output: 取到小數點以下第二位的格式是.2f

#程式由此開始寫

M1-Q02 攝氏轉華氏溫度

(時間限制:2 秒) 問題描述: 讓使用者輸入一攝氏溫度,輸出相對應的華氏溫度。 F=C×9/5+32

輸入說明: 輸入一攝氏溫度(float)。

輸出說明: 輸出相對應的華氏溫度(float),計算到小數第2位四捨五入,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

30.8

87.44⏎

16.9

62.42⏎

int(祕技):

Input: 使用float()函數將輸入的字串轉換成float變數

Process: 簡單的加減乘除法計算

Output: 取到小數點以下第二位的格式是.2f

#程式由此開始寫

M1-Q03 合、差及乘積

(時間限制:2 秒) 問題描述: 輸入兩個整數,計算其合、差及乘積。

輸入說明: 輸入兩個整數(int)。

輸出說明: 輸出兩個整數的合(int)、差(int)及乘積(int),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

8

17

9

-1

72⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算

Output: 套用f-string

#程式由此開始寫

M1-Q04 總分及平均成績

(時間限制:2 秒) 問題描述: 輸入國文、英文和數學成績,計算其總分數及平均成績。

輸入說明: 輸入國文(int)、英文(int)和數學(int)成績。

輸出說明: 輸出總分數及四捨五入後的平均成績(int),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

80

210

70

70⏎

60

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加法和整數除法計算

Output: 套用f-string

#程式由此開始寫

M1-Q05 單位換算:身高及體重

(時間限制:2 秒)

問題描述: 寫一程式,讓使用者輸入身高(cm)及體重(kg),作單位換算輸出身高(英吋)及體重(磅)。(1 磅=0.454 公斤,1 吋=2.54 公分)

輸入說明: 分別輸入身高(cm)(int)及體重(kg)(int)。

輸出說明: 作單位換算輸出身高(英吋)(float)及體重(磅)(float),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

180 85

70.86614173228347

187.22466960352423⏎

int(祕技):

Input: 使用split()函數將輸入的字串切成二個變數 paras[0], paras[1]

Process: 簡單的除法計算

Output: 套用f-string

#程式由此開始寫

M1 Problems:Q06-Q10

M1-Q06 字串切割

(時間限制:2 秒) 問題描述: 寫一個程式讓使用者輸入一段文字及一個切割用符號,程式會依指定的符號切割成數字子字串。

輸入說明: 分別輸入文字串(String)及切割符號(char)。

輸出說明: 透過切割符號切割後每一個字串一列顯示,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

asia,japan,taiwan,taipei ,

asia

japan

taiwan

taipei⏎

Jack#David&John#Kevin #

Jack

David

John

Kevin⏎

int(祕技):

Input: 使用split()函數將輸入的字串切成二個變數 ss, sy,再用split()函數將ss字串切割成一個list

Process: 對list的元素進行簡單的for迴圈

Output: 套用f-string

#程式由此開始寫

M1-Q07 全部變小寫

(時間限制:2秒)

問題描述: 寫一個程式讓使用者輸入一段文字(String),程式會把文字串所有的字母不管大小寫全部變成小寫字母顯示(String)。

輸入說明: 分別輸入文字串(String)。

輸出說明: 字串裡的每一個字母都變成小寫後顯示(String),最後必須有換行字元。

範例: Sample Input: Sample Output: Taiwan and U.S.A. taiwan and u.s.a.⏎ Python is a good Programming Language. python is a good programming language.

Sample Input:

Sample Output:

Taiwan and U.S.A.

taiwan and u.s.a.⏎

Python is a good Programming Language.

python is a good programming language.⏎

int(祕技):

Input: 輸入一個字串

Process: 使用lower()函數

Output: 輸出一個字串

#程式由此開始寫

M1-Q08 單位換算:公升轉加侖

(時間限制:2秒)

問題描述: 大明幫媽媽到油漆行買油漆,結果店員問他要幾「美加侖」的,大明不知道該怎麼回答,心裡想媽媽只有說大約要2公升的漆。請寫一程式可以將公升換算成美加侖。 依度量衡標準 1公升 = 0.26418 美加侖

輸入說明: 輸入欲轉換之公升數(float)。

輸出說明: 輸出加侖(float),四捨五入取到小數點以下第一位,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

10

2.6⏎

18

4.7⏎

int(祕技):

Input: 使用float()函數將輸入的字串轉換成float變數

Process: 簡單的加減乘除法計算

Output: 取到小數點以下第1位的格式是.1f

#程式由此開始寫

M1-Q09 單位換算:稱斤論兩

(時間限制:2秒) 問題描述: 阿美回到鄉下的阿嬤家,阿嬤很高興要做好料給孫女吃,不過家裡沒有食材,阿嬤請阿美去巷子口的「完美生鮮超市」買1斤半豬絞肉回來。阿美到了生鮮超市,傻眼,都是標幾公克,哪有人在寫斤的啦。請寫一個程式可以計算公克換成台斤的轉換。依度量衡標準 600公克= 1 台斤

輸入說明: 輸入欲轉換之公克數(float)。

輸出說明: 輸出台斤(float),取到小數點以下第一位,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

300

0.5⏎

650

1.1⏎

int(祕技):

Input: 使用float()函數將輸入的字串轉換成float變數

Process: 簡單的加減乘除法計算

Output: 取到小數點以下第1位的格式是.1f

#程式由此開始寫

M1-Q10 字串字元置換

(時間限制:2秒) 問題描述: 阿坤最討論長官老是要他改文件,因為阿坤的長官打字不太行,經常注音不選字所以錯別字特別多。請寫一個程式幫阿坤將字串中同樣的字以另外一個字替換掉。

輸入說明: 輸入一個字串(String)與 2 個字元(char)。

輸出說明: 輸出被替換後的字串(String),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

asia csie taiwan

as1a cs1e ta1wan⏎

i

1

int(祕技):

Input: 輸入三個字串變數

Process: replace()函數

Output: 套用f-string

#程式由此開始寫

M1 Problems:Q11-Q15

M1-Q11 數字加密

(時間限制:2秒)

問題描述: 讀取一四位數,並且依下列方式進行加密

  1.    以該位數加7後,除以 10 取餘數取代該位數
    
  2.    將第一個位數的數字與第三個位數的數字對調
    
  3.    將第二個位數的數字與第四個位數的數字對調
    

輸入說明: 輸入一個四位數的字串(String)。

輸出說明: 輸出加密後的數字串(String),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

1234

0189⏎

4567

3412⏎

7891

6845⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 計算每一位的數字,再重新組成四位數

Output: 套用f-string

#程式由此開始寫

M1-Q12 計算總和、乘積、差、商和餘數

(時間限制:2秒)

問題描述: 撰寫一個程式,要求使用者輸入兩個數字,再從使用者取得這兩個數字,然後印出這兩個數字的總和、乘積、差、商、和餘數。

輸入說明: 依序輸入兩個整數(int),整數範圍不超過 1000 。

輸出說明: 輸出總和(int)、乘積(int)、差(int)、商(int)和餘數(int)(注意格式),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

7

7+3=10

3

7*3=21

7-3=4

7/3=2…1⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算

Output: 套用f-string

#程式由此開始寫

M1-Q13 取得字元ASCII碼

(時間限制:2秒)

問題描述: 請寫一個程式讓使用者輸入一個英文字母、標點符號或數字字符,程式回傳取得該字元的ASII值。

輸入說明: 輸入一個字元 ch (char)。

輸出說明: 輸出該字元對應的 ASCII 值 (int),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

a

97⏎

X

88⏎

int(祕技):

Input: 輸入一個字串變數

Process: ord()函數

Output: 套用f-string

#程式由此開始寫

M1-Q14 取得中文字元萬國碼(Unicode)

(時間限制:2秒)

問題描述: 請寫一個程式讓使用者輸入一個中文字元,程式回傳取得該字元的萬國碼。

輸入說明: 輸入一個中文字元 ch (char)。

輸出說明: 輸出該字元對應的「萬國碼」(Unicode)值 (int),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

4e9e⏎

8cc7⏎

int(祕技):

Input: 輸入一個字串變數

Process: ord()函數

Output: 套用f-string, 輸出16進位數

#程式由此開始寫

M1-Q15 取得16進制萬國碼(Unicode)對應中文字

(時間限制:2秒)

問題描述: 請寫一個程式讓使用者輸入16進制萬國碼,程式回傳該萬國碼的中文字元。

輸入說明: 輸入一個16進制整數 (int)。

輸出說明: 輸出對應的「萬國碼」(Unicode)值的字元 (char),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

8cc7

資⏎

48e9

䣩⏎

int(祕技):

Input: 輸入一個字串變數

Process: chr()函數,16進制參數

Output: math.pi

#程式由此開始寫

M1 Problems:Q16-Q20

M1-Q16 圓柱體積計算

(時間限制:2秒)

問題描述: 請寫一個程式讓使用者輸入圓的半徑(float)與高(float),程式輸出該圓的體積 (float)。 \(π×r^2×h\)

輸入說明: 輸入半徑(float)與高度 (float)。

輸出說明: 輸出該圓的體積(float),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

18.9 12

13466.49974146572⏎

3.2 12

386.0389052731138⏎

int(祕技):

Input: 使用float()函數將輸入的字串轉換成float變數

Process: 簡單的加減乘除法計算和math.pi常數

Output: 套用f-string

#程式由此開始寫

M1-Q17 成績換算

(時間限制:2秒)

問題描述: 每學期期末是老師們的頭痛時刻,老師用心授課可是難免遇到同學習成效不佳情況,老師為了不想背著「大刀」名號在系上行走往往會使用調整分數招式。請寫一個程式讓使用者輸入成績 (int),程式輸出開根號乘上10的新成績 (int)。

輸入說明: 輸入成績 (int)。

輸出說明: 輸出新成績(int),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

36

60⏎

49

70⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算和

Output: 套用f-string

#程式由此開始寫

M1-Q18 區間公式

(時間限制:2秒) 問題描述: 讓使用者輸入 x,並計算 y 值輸出,其公式如下:

\(y=3×x^2 \)若 x < -1

\(y=x^3+3×x-3 \) 若 -1 ≤ x ≤ 1

\(y=2×x +3\) 若 x > 1

輸入說明: 輸入一個整數 x (int)。

輸出說明: 依照公式輸出 y 值,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

-5

75⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算和

Output: 套用f-string

#程式由此開始寫

M1-Q19 標準體重計算

(時間限制:2秒)

問題描述: 已知男生標準體重=(身高-80 )×0.7;女生標準體重=(身高-70) × 0.6;試寫一個程式可以計算男生女生的標準體重

輸入說明: 輸入兩個數值,依序代表為身高(int)及性別(int)(1代表男性;2代表女性)。

輸出說明: 輸出標準體重,浮點數(float)取至第一位,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

172 1

64.4⏎

165 2

57.0⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算和

Output: 套用f-string,取到小數點以下第1位的格式是.1f

#程式由此開始寫

M1-Q20 找零錢問題

(時間限制:2秒)

問題描述: 假設銅板有1元、5元、50元共三種,媽媽請小明去菜市場買水果,給了小明 n 元,且媽媽交待,要老闆找小明的零錢的數目要最少,而小明到了水果攤買了 a_1顆蘋果,a_2顆柳丁,及 a_3 顆桃子,1顆蘋果15元,1顆柳丁20元,1顆桃子30元,請問老問需找多少個1元、5元、50元,其銅板數目最少。

輸入說明: 先輸入媽媽給小明多少錢 n,接著輸入 \(a_1, a_2, a_3\), 在此 \(n, a_1, a_2, a_3\) 為整數 (int),且 \(a_1×15+a_2×20+a_3×30\) 小於或等於 n 。

輸出說明: 列出共找小明多少個 1元,5元 及 50元,若帶的錢不夠買水果,則顯示”0”,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

500 1 2 3

0

1

7⏎

int(祕技):

Input: 使用split()切開輸入字串,再用 int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算和

Output: 套用f-string

#程式由此開始寫

M1 Problems:Q21-Q25

M1-Q21 判斷座標是否在圓形的範圍內

(時間限制:2秒)

問題描述: 一圓形直徑為200,且中心座標為(0,0)。請寫一支程式可以輸入點的座標,並判斷該點是否在圓形的範圍內。如果點的位置剛好在邊界的話也算是在圓形範圍內(例:x = 100, y = 0)

輸入說明: 輸入一整數座標,依序分 x (int)與 y (int)。

輸出說明: 輸出此座標位置在圓內(inside)或圓外(outside)訊息,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

50 50

inside⏎

50 200

outside⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算和

Output: print()

#程式由此開始寫

M1-Q22 停車費計算

(時間限制:2秒)

問題描述: 假設某個停車場的費率是停車2小時以內,每半小時30元,超過2小時,但未滿4小時的部份,每半小時40元,超過4小時以上的部份,每半小時60元,未滿半小時部分不計費。如果您從早10點23分停到午3點20分,請撰寫程式計算共需繳交的停車費。

輸入說明: 輸入兩組時間時(int)與分(int),分別為開始與離開時間,24小時制。

輸出說明: 輸出停車費(int),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

10 23

340⏎

15 20

11 11

880⏎

20 30

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 簡單的加減乘除法計算和

Output: print()

#程式由此開始寫

M1-Q23 季節判定

(時間限制:2秒)

問題描述: 試撰寫一程式,可輸入月份,然後判斷其所屬的季節 3 ~ 5 月為春季,6 ~ 8 月為夏季, 9 ~ 11 月為秋季, 12 ~ 2 月為冬季。

輸入說明: 輸入月份(int)。

輸出說明: 輸出該月份的季節(String), 3 ~ 5 月為春季(Spring), 6 ~ 8 月為夏季(Summer), 9 ~ 11 月為秋季(Autumn),12 ~ 2 月為冬季(Winter),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

3

Spring⏎

10

Autumn⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: if判斷式( a< var <b)

Output: print()

#程式由此開始寫

M1- Q24 星座查詢

(時間限制:2秒) 問題描述: 請設計程式,根據輸入之及日期,輸出對應之星座。

  • 1997年 1月 21日 ~ 1997年 2月 18日 水瓶 (Aquarius)

  • 1997年 2月 19日 ~ 1997年 3月 20日 雙魚 (Pisces)

  • 1997年 3月 21日 ~ 1997年 4月 20日 牡羊 (Aries)

  • 1997年 4月 21日 ~ 1997年 5月 21日 金牛 (Taurus)

  • 1997年 5月 22日 ~ 1997年 6月 21日 雙子 (Gemini)

  • 1997年 6月 22日 ~ 1997年 7月 22日 巨蟹 (Cancer)

  • 1997年 7月 23日 ~ 1997年 8月 23日 獅子 (Leo)

  • 1997年 8月 24日 ~ 1997年 9月 23日 處女 (Virgo)

  • 1997年 9月 24日 ~ 1997年 10月 23日 天秤 (Libra)

  • 1997年10月 24日 ~ 1997年 11月 22日 天蠍 (Scorpio)

  • 1997年11月 23日 ~ 1997年 12月 21日 射手 (Sagittarius)

  • 1997年12月 22日 ~ 1998年 1月 20日 摩羯 (Capricorn)

輸入說明: 請輸入月(int)及日期(int)。

輸出說明: 依照星座標準,將及日期轉成星座(String)輸出,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

8 20

Leo⏎

4 15

Aries⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 先判斷月份,再看是前一半還是後一半

Output: print()

#程式由此開始寫

M1-Q25 平年閏年判斷

(時間限制:2秒)

問題描述: 試撰寫一個程式,可由鍵盤讀入一個4 位數的整數代表西洋年,然後這個年份是否為閏年每四年一閏,每百年不閏,每四百年一閏,例如西元1900 雖為4 的倍數,但可被100 整除,所以不是閏年,同理,2000 是閏年,因可被400 整數,而2004 當然也是閏,因可以被4 整除

輸入說明: 輸入西元年份(int)。

輸出說明: 輸出閏年(Leap Year)或是平年(Common Year)(String),最後必須有換行字元。

範例:

Sample Input:

Sample Output:

2000

Leap Year⏎

2003

Common Year⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 判斷條件

Output: print()

#程式由此開始寫

M1 Problems:Q26-Q30

M1-Q26 計算電費

(時間限制:2秒)

問題描述: 輸入所使用的度數,換算夏月及非夏月之電費金額

每度(元):

夏月:

非夏月:

120 度以下部分

2.10

2.10

121-330 度部分

3.02

2.68

331-500 度部分

4.39

3.61

501-700 度部分

4.97

4.01

701 度以上部分

5.63

4.50

輸入說明: 使用的電力度數(int)。

輸出說明: 夏月與非夏月的金額(float),請輸出至小數點後兩位,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

525

1756.75

1528.75⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 判斷條件

Output: print()

#程式由此開始寫

M1-Q27 判斷大小寫或其他字元

(時間限制:2秒)

問題描述: 輸入一個字元,判斷是大寫或小寫或是其他字元。

輸入說明: 輸入一個字元 (char)。

輸出說明: 輸出判斷結果(大寫:uppercase、小寫:lowercase、特殊字元:special character),最後必須有換行字元。

範例: Sample Input: Sample Output: A uppercase⏎ a lowercase⏎

  • special character⏎

Sample Input:

Sample Output:

A

uppercase⏎

a

lowercase⏎

*

special character⏎

int(祕技):

Input: input()輸入一個字串

Process: str.isupper(), str.islower()

Output: print()

#程式由此開始寫

M1-Q28 大小寫轉換

(時間限制:2秒)

問題描述: 輸入一個字元,轉換其大小寫輸出 (大寫 ->小寫,小寫->大寫)。

輸入說明: 輸入一個字元 (char)。

輸出說明: 將輸入轉換其大小寫輸出,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

A

a⏎

a

A⏎

int(祕技):

Input: input()輸入一個字串

Process: str.upper(), str.lower()

Output: print()

#程式由此開始寫

M1-Q29 奇偶數

(時間限制:2秒)

問題描述: 輸入一正整數,判斷其奇偶數。

輸入說明: 輸入一正整數 (int)。

輸出說明: 判斷其奇偶數,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

40

Even⏎

39

Odd⏎

int(祕技):

Input: 使用int()函數將輸入的字串轉換成整數變數

Process: 判斷條件

Output: print()

#程式由此開始寫

M1-Q30 三角形判定

(時間限制:2秒)

問題描述: 讓使用者輸入三角形的三邊長a, b, c (且 a ≤ b ≤ c ) ,判斷並輸出 a, b, c 是否為合法三邊長。

輸入說明: 輸入三角形的三邊長 a, b, c (且a ≤ b ≤ c )。

輸出說明: 輸出是否為合法三邊長,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

7 9 8

False⏎

4 1 2

False⏎

3 4 5

True⏎

1 2 3

False⏎

int(祕技):

Input: 使用split()切開輸入字串,再用 int()函數將輸入的字串轉換成整數變數

Process: 將條件表示成if-condition

Output: 套用f-string

#程式由此開始寫

M1 Problems:Q31-Q32

M1-Q31 三角形分類

(時間限制:2秒)

問題描述: 讓使用者輸入一合法三角形的三邊長a, b, c (且 \(a ≤ b ≤ c\) ) , 判斷並輸出該三角形為「Right triangle(直角三角形)」,「Obtuse triangle(鈍角三角形)」,或「Acute triangle(銳角三角形)」。

判斷方法:

假設三角形的三個邊長分別是 a, b, c,其中 c 為最長的邊長計算一下

如果 \(a^2+b^2<c^2\) 則為鈍角三角形鈍角位於 c 所對應的角。

如果 \(a^2+b^2=c^2\) 則為直角三角形直角位於c所對應的角。

如果 \(a^2+b^2>c^2\) 則為銳角三角形 a, b, c 三邊所對應的角均為銳角

輸入說明: 輸入一合法三角形的三邊長 a (int), b (int), c(int) (且 \(a ≤ b ≤ c\) )。

輸出說明: 判斷並輸出該三角形為「Right triangle(直角三角形)」,「Obtuse triangle(鈍角三角形)」,或「Acute triangle(銳角三角形)」,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

3 4 5

Right triangle⏎

2 3 4

Obtuse triangle⏎

4 5 6

Acute triangle⏎

int(祕技):

Input: 使用split()切開輸入字串,再用 int()函數將輸入的字串轉換成整數變數

Process: 將條件表示成if-condition

Output: 套用f-string

#程式由此開始寫

M1-Q32 數字價格轉文字價格

(時間限制:2秒)

問題描述: 輸入一 1~1000 的價格,並根據此價格在螢幕上印出「? thousand ? hundred? ten? dollar」字樣。

輸入說明: 輸入一 1~1000 的價格 (int)。

輸出說明: 輸出價格在螢幕上印出「? thousand ? hundred? ten? dollar」字樣,最後必須有換行字元。

範例:

Sample Input:

Sample Output:

173

0 thousand 1 hundred 7 ten 3 dollar⏎

int(祕技):

Input: 用 int()函數將輸入的字串轉換成整數變數

Process: 計算每一位數字

Output: 套用f-string

#程式由此開始寫