iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0

今天也要來練習APCS的題目啦,今天的題目是105年10月29日的實作題第一題,三角形辨別,那我們開始吧!

題目

https://ithelp.ithome.com.tw/upload/images/20210926/201404689LbKqqTKAp.png
若無法構成三角形時輸出「No」;
若構成鈍角三角形時輸出「Obtuse」;
若直角三角形時輸出「Right」;
若銳角三角形時輸出「Acute」。
(這裡方便大家複製貼上,所以我把這放上來)

解答

https://ithelp.ithome.com.tw/upload/images/20210926/201404684Zf4Lnkxo7.png

a=input()                   #輸入三邊
list=a.split()              #轉為清單,並用空格分開
for i in range(0,3):        #將清單內所有元素轉為整數形式
    list[i]=int(list[i])
list.sort()                 #排序(由小到大)


A=list[0]                   #將ABC代入三角形的三邊長
B=list[1] 
C=list[2]     


if A+B <= C:                #如果兩邊和小於等於最長邊,無法形成三角形
    print('No')

elif A**2+B**2 < C**2:      #如果兩邊平方和小於最長邊平方,形成鈍角三角形
    print('Obtuse')
elif A**2+B**2 == C**2:     #如果兩邊平方和等於最長邊平方,形成直角三角形
    print('Right')
elif A**2+B**2 > C**2:      #如果兩邊平方和大於最長邊平方,形成銳角三角形
    print('Acute')

解釋我有放在旁邊了,那這底下的elif需要注意一下,因為如果if不成立才會跑到elif,那沒辦法形成三角形當然也不可能會是銳角鈍角等。

那還有前幾天忘記把連結附上了,裡面是APCS幾次考試有公佈出來的題目(大部分不會公布),那大家也可以練習看看其他題目。還有觀念題的部分,如果會C語言也可以去看看裡面的題目。
https://apcs.csie.ntnu.edu.tw/index.php/questionstypes/previousexam/


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

尚未有邦友留言

立即登入留言