iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0

今天也是跟昨天一樣,要來練習比較難的題目,就是APCS啦,今天要來練習的題目是APCS 106年3月4日 的實作題第一題,秘密差,那我們就開始吧!

題目

https://ithelp.ithome.com.tw/upload/images/20210925/20140468ZY0ljvCCCE.png

a=input()           #輸入數字
list=list(a)        #將數字轉為清單,例:13轉為['1','3']
list.reverse()      #將列表反轉,可確定清單第0項為奇數項
b=len(a)            #把b設為此數字長度(位數)
sum=0               #先設累積數字為0

for i in range(0,b,2):          #此迴圈找出奇數項,0 2 4...項為奇數項
    sum=sum+int(list[i])            #將sum加上每一個奇數項數字


for j in range(1,b,2):          #此迴圈找出偶數項,1 3 5...項為偶數項
    sum=sum-int(list[j])            #將sum減去每一個偶數項數字


if sum<0:           #如果sum為負,將他轉為正整數
    sum=-sum

print(sum)          #列印

那我都有把解釋寫在旁邊,那我解釋一下要把列表反轉的原因,因為可以不論數字位數,都能確定奇數偶數的位置。那再來是迴圈,我利用兩個迴圈,一個找奇數,另一個找偶數,然後奇數用加的,偶數用減的,就可以算出差。但是有可能算出來的數字是負數,而題目要求要加上絕對值,所以最後轉為正整數。那當然也可以用我之前有講過的math套件,可以直接一條程式碼帶過。


上一篇
python 練習
下一篇
Python 練習
系列文
一起來探索Python語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言