a005: Eva 的回家作業
這篇教學會示範 ZeroJudge 基礎題庫「a005: Eva 的回家作業」的解題過程。
題目需求
Eva 的家庭作業裏有很多數列填空練習,填空練習的要求是:「已知數列的前四項,填出第五項」,而數列可能是等差或等比數列。
題目連結:a005: Eva 的回家作業
解答
首先使用了串列生成式,將輸入的「文字串列」轉換成「數字串列」,才能夠進行數學計算,透過前後兩組數字的計算,就能得到這個數列是等差數列還是等比數列,也就能計算出第五個數字的數值,此外,運算過程中也使用了 continue 來中止 for 迴圈。
a = int(input()) # 將輸入的文字轉成數字
for i in range(a): # 有幾組就重複幾次
n = input() # 每次輸入的數列
b = [int(j) for j in n.split(' ')] # 將輸入的數列從文字轉換成數字
if (b[1]-b[0]) == (b[3]-b[2]): # 判斷如果是等差數列
print(n, end=' ')
print(int(b[3]+b[3]-b[2])) # 讓輸出的結果為:原本輸入的數列加上運算的結果
continue # 跳出迴圈重來一次
if (b[1]/b[0]) == (b[3]/b[2]): # 判斷如果是等比數列
print(n, end=' ')
print(int(b[3]*(b[3]/b[2]))) # 讓輸出的結果為:原本輸入的數列加上運算的結果
continue # 跳出迴圈重來一次
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~