2021年2月13日 星期六

APCS實作題第一題解題需求for Python

今天完成高中生程式解題系統內APCS的所有第一題部分

A) 2016-0305-1 b964成績指標:https://zerojudge.tw/ShowProblem?problemid=b964

B) 2016-1029-1 c294三角形辨別:https://zerojudge.tw/ShowProblem?problemid=c294

C) 2017-0304-1 c290秘密差:https://zerojudge.tw/ShowProblem?problemid=c290

D) 2017-1018-1 c461邏輯運算子:https://zerojudge.tw/ShowProblem?problemid=c461

E) 2019-0615-1 e286籃球比賽:https://zerojudge.tw/ShowProblem?problemid=e286

F) 2020-0704-1 f579購物車:https://zerojudge.tw/ShowProblem?problemid=f579

G) 2020-1017-1 f312人力分配:https://zerojudge.tw/ShowProblem?problemid=f312

H) 2021-0109-1 f605購買力:https://zerojudge.tw/ShowProblem?problemid=f605

如果用Python寫的話,基本上要學會以下幾件事情應該都能解決第一題,大致上類一下可以分成這些技能,當然也是有其它的可能或是取代方式可以嘗試

  1. 以k儲存輸入之數字   AFG
    k=int(input())

  2. 運用temp串列儲存輸入的數字   F
    temp=int(input())
  3. 運用temp串列儲存,將輸入的每個字元,一個字元放入一個元素   C
    temp=input()
  4. 運用temp串列儲存輸入一行有空格的數字   ABDEFGH
    temp=input().split()
  5. 將串列內第n號元素轉數字儲存於k   BCDEFH
    k=int(temp[n])
  6. 將串列內所有元素轉數字int;len(temp)取temp串列內的元素量;for迴圈去轉換每個元素   ABFGH
    for x in range(len(temp)):temp[x]=int(temp[x])
  7. 排列串列內的數字   ABGH
    temp.sort()
  8. for迴圈,從0開始到k-1為止,共k次   AFGH
    for x in range(k):
  9. for迴圈,從0開始算,共算k個值,且每2個跳著算   C
    for x in range(0,k,2):
  10. for迴圈反算   G
    for x in range(k+1):temp[k-x]:
  11. 迴圈內外計數器,歸零   F
  12. while迴圈   F
    while n<k:
  13. if判斷式判斷大小、and、or判斷   ACDFH
    if n==k:
    <=、>=、!=、and、or、&、|、^
  14. if,elif,else判斷式   ABEF
    if:
    elif:
    elif:
    else:
  15. print輸出k的內容    CF
    print(k)
  16. print輸出文字"abcd"    BD
    print("abcd")
  17. print輸出k的內容後不換行;空一格不換行   ABEH
    print(k,end="")
    print(k,end=" ")  #輸出最後一個第k項元素還是會有空格,所以如果最後不要空格只能輸出到k-1項
  18. print輸出temp串列n值   AG
    print(temp[n])

基本上會這些技能應該APCS實做的第一題大部分都能處理,甚至於可以處理其他1維陣列的前幾題。

沒有留言:

張貼留言