創(chuàng)意機(jī)器??賽——撿硬幣。?賽規(guī)則如下:
(1)在?賽場(chǎng)地上放置了n 個(gè)硬幣,每個(gè)硬幣的位置均不相同,各位置坐標(biāo)(x,y)保存在?本?件中(如圖所示,放置了5個(gè)硬幣,?本中坐標(biāo)按x,y 升序排列);
(2)機(jī)器?在兩個(gè)硬幣位置間?直線,從起點(diǎn)(0,0)出發(fā),按硬幣x 坐標(biāo)從?到?去撿,若 x 坐標(biāo)相同,則按 y 坐標(biāo)從?到?撿;取?其中的n-1個(gè)硬幣,總??距離最短的機(jī)器?將獲得?賽的冠軍。
例:如圖a 所示,p2直接到p4則代表p3處硬幣未取。
完成該項(xiàng)?分以下?個(gè)步驟:
(1)讀取坐標(biāo)數(shù)據(jù)。
從?本?件中讀取硬幣的坐標(biāo)(x、y),分別存儲(chǔ)在列表x 和y 中。請(qǐng)?jiān)跈M線處填?合適的代碼。
(2)編寫函數(shù),計(jì)算兩點(diǎn)間的距離。請(qǐng)?jiān)跈M線處填?合適的代碼。
(3)設(shè)計(jì)算法與程序?qū)崿F(xiàn)。
機(jī)器?取?n-1個(gè)硬幣經(jīng)過的最短距離公式可以描述為:
其中:為機(jī)器?取?n-1個(gè)硬幣?的最短距離;
為機(jī)器?取?n 個(gè)硬幣經(jīng)過的距離之和;
為機(jī)器?未取第i 個(gè)硬幣少?的路程;
Max 為求中的最?值。
根據(jù)上述算法編寫的Python 程序如下,請(qǐng)?jiān)跈M線處填?合適的代碼。
(4)調(diào)試和異常處理。
當(dāng)最后一個(gè)硬幣未取為最短距離時(shí),上述程序運(yùn)?結(jié)果不正確。加框處代碼有誤,請(qǐng)修改。
【考點(diǎn)】事件處理過程.
【答案】見試題解答內(nèi)容
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:1引用:1難度:0.3
相似題
-
1.有下列Python程序段:
執(zhí)行該程序段后,result的值為是( ?。?/h2>發(fā)布:2024/11/6 10:0:2組卷:0引用:2難度:0.5 -
2.漢諾塔問題如圖所示,現(xiàn)要求將塔座A上的所有圓盤移到塔座B上,并仍按同樣順序疊放。移動(dòng)圓盤時(shí),需遵守漢諾塔問題的移動(dòng)規(guī)則。由此,可設(shè)計(jì)出解漢諾塔問題的遞歸算法為( ?。?/h2>
發(fā)布:2024/11/14 8:0:1組卷:1引用:2難度:0.2 -
3.某同學(xué)使用Python編寫了一個(gè)解密程序嘗試找出某文件密碼。調(diào)試時(shí),程序順利運(yùn)行且沒有報(bào)錯(cuò),但最終無法得到正確的密碼。造成這個(gè)結(jié)果的原因可能是( ?。?/h2>
發(fā)布:2024/11/7 22:30:1組卷:1引用:1難度:0.5
把好題分享給你的好友吧~~