之前介紹過OnlineJudge線上評測系統,
也列了一個程式範例,
一套新的系統對使用者來說肯定很陌生,
因此也產生了一些問題,
今天就針對這些問題來介紹:
OnlineJudge線上評測系統-常見問題
輸入/輸出範例相關
每個試題都有輸入範例與輸出範例,
而 OJ 是以比對方式來判別程式是否正確,
故輸入/輸出範例中未出現的字(包含空格、逗號、換行)都會造成錯誤。
上圖中的程式在輸出的時候多出了 “ a + b = “。
輸入/輸出範例相關
上圖中的程式多了輸入提示 '直徑?' ,
輸出也多了 ’面積為’ 、 '周長為' ,
故判定錯誤。
載入模組未加上 import
上圖中的程式使用了 math 模組,但沒有加上 import
資料型態
左圖中的程式假設輸入 a=1 , b=2 ,
雖然有作資料型態的轉換,
但因為輸出的浮點數 3.0 與題目的輸出範例不符,
故判定結果為錯誤。
演示範例:
input得到的資料,其型態為字串
input所得到的資料為字串,
必須先轉變資料型態後,
才能拿來作數值的運算。
以上圖中程式為範例,
分別輸入 1 與 2 ,
最終得到的結果為’ 12 ’ 的字串而非兩數字相加。
而此圖中程式並未作資料型態的轉換,
就直接作相減的運算,
故判定結果為錯誤。
split為字串分割的方法
上圖範例 b = a.split(‘,’),
可看到split回傳值為一個List(如黃底所示),
將原來的字串 a 分割為 ‘hello’ 與 ‘world’ 兩個字串。
程式演示:
上圖程式則是先將字串轉換為浮點數,
導致 c 與 b 已經不是字串,
再使用 split 是錯誤的。
初學者學習程式同時還要適應OnlineJudge線上評測系統,
難免會出現許多基本問題,
只要多練習即可。
沒有留言:
張貼留言