/Junyi_Academy_SW_QA_test

Junyi_Academy_SW_QA_test

Primary LanguageJupyter Notebook

均一平台教育基金會平台發展組遠端筆試

測驗時間限制:共 45 分鐘

開始時間 :5/24 19:00

結束時間 :5/24 19:43

花費時間 :共 43 分鐘

1.

  • (A) 請寫一個程式把裡面的字串反過來。
  • (B) 請寫一個程式把裡面的字串,每個單字本身做反轉,但是單字的順序不變。
testString = "flipped class room is important"
print("題目:", testString)
## 1-(A)
result = testString[::-1]
print("1-(A): ", result)

## 1-(B)
def reverse2(string):
    sentence = string.split(" ")
    result = ' '.join([i[::-1] for i in sentence])
    return result
print("1-(B): ", reverse2(testString))
題目: flipped class room is important
1-(A):  tnatropmi si moor ssalc deppilf
1-(B):  deppilf ssalc moor si tnatropmi

2.

請寫一個程式,Input 是一個數字,Output 是從 1 到這個數字,扣除掉所有 3 的倍 數以及 5 的倍數,但是需要保留同時是 3 和 5 的倍數的總數字數。

testInput = 15
def SpecialListNum(size):
    intersect = int(size // 15)
    three_num = int(size // 3)
    five_num = int(size // 5)    
    return size - three_num - five_num + 2 * intersect

print(SpecialListNum(testInput))
9

3.

房間裡有三個袋子,一個只裝鉛筆,一個只裝原子筆,第三個有鉛筆也有原子筆。 袋子是不透明的,單從袋子的外表上看不出任何差異,你不知道哪個袋子裝什麼。 除了袋子上各貼了一個標示("鉛筆"、"原子筆"、"混和"),且標示都是錯的 (e.g. 標示鉛筆的袋子可能是混和的或是只裝原子筆)。 你只能選一個袋子,拿出裡面一支筆,看是鉛筆還是原子筆,然後你要推論出這三 個袋子分別的情況。請列出你的作法,以及解釋為什麼這樣可以找到答案。

答案:

  從"混合"標籤的袋子拿出一枝筆來就可以確定3個袋子的內容物。三個袋子目前可能的內容物如下: 
  標籤 : 真實內容物可能值
  混和 : [鉛筆, 原子筆]
  鉛筆 : [混合, 原子筆]
  原子筆: [混合, 鉛筆]

  從混合標籤的袋子取物只會有2種情況,在此我們舉「抽到物品為鉛筆的情形」為例,當在混合標籤袋中抽到鉛筆,代表混合標籤袋裝的其實是鉛筆,原子筆標籤袋此時可以經由刪去法推出它其實是混合袋,最後剩下的鉛筆標籤袋,它的內容物在其他兩個袋子結果確定的情形下,一定是裝原子筆。
  當「抽到物品為原子筆」時,我們也可以經由相同思考邏輯判斷出每一袋的真實內容物

4.

有三個人一起到迪士尼遊玩,中午肚子餓了,去餐廳點了一份現在最夯的冰雪奇緣 雙人組,要價 900 元,付錢後,服務生發現今天套餐大特價,只要 750 元,因此 服務生應該退還 150 元給這三個人,但是這位服務生一時鬼迷心竅,決定暗槓 60 元,只退了 90 元給這三個遊客。 那麼:三人各出 300 元 - 服務生還給他們一人 30 元 = 三人各出 270 元。270 元 × 3 人+ 服務生私吞的 60 元 = 810 + 60 = 870 !? 怎麼不是 900 元呢?還 有 30 元去哪了呢?請用敘述的方式,儘量清楚解釋問題出在哪裡。

答案:

  題目說的 810 + 60算出來的結果是沒有意義的。
  先審視一下題目情境,遊客3人每人出 300 元,每人收到找零為 30 元(遊客少繳的錢),每人實際付款270元。而服務生則是暗槓60元(遊客多繳的錢)。900元的意義是「遊客原本應該要付的錢」,所以它應該要由實際付款總和的810元(270 元 * 3 人)加上總共少繳的錢90元(30元 * 3 人)組成。題幹說的實際付款總額加上多繳的錢形成的數字沒有意義。
  但照這樣說的話,暗槓的60元到底在哪裡呢?60元既然是遊客多繳的錢,所以它其實就是遊客實際繳的錢 810 元 - 應該繳的錢 750 的差額。

  除了上述的思考方式,我們還可以這樣思考。
  把 900 元分成實際付款的 750 元和應該歸還的 150 來看,在服務生歸還每人 30 元後。情況會變成,實際付款共750元,三人拿到找零金額共 30 * 3 = 90 元,服務生暗槓 60 元。加起來 900 元整。