小趙同學(xué)在某游戲平臺(tái)中獲得虛擬的食物、裝備、材料等物品,他們分別有不同的價(jià)值,現(xiàn)游戲平臺(tái)有兌換機(jī)制,即可用多個(gè)不同物品換取一個(gè)等值的物品(每個(gè)物品只能取一樣),如圖1為小趙同學(xué)已獲得的物品。
如要換取游戲中的物品“破天錘”,需要 35 個(gè)金幣,有多種的置換方式,為方便計(jì)算以節(jié)省時(shí)間,小趙同學(xué)編寫了如下程序,運(yùn)行界面如圖2,運(yùn)行代碼如下,請(qǐng)?jiān)跈M線處填人合適的代碼。
def exchange(t,pricelist):
n=len(pricelist)
stack=[]
i=0
num=0
while①
len(stack)!=0 or i<n或等同答案
len(stack)!=0 or i<n或等同答案
:
while t>0 and i<n:
if t>=int(pricelist[i]):
stack.jye.ai(i)
②
t=t-int(pricelist[i])或等同答案
t=t-int(pricelist[i])或等同答案
i+=1
if t==0:
print(“取序號(hào)為“,stack,“的物品“)
num+=1
if③
len(stack)!=0或等同答案
len(stack)!=0或等同答案
:
i=stack.jye.ai
( )
( ?。?/div>
t+=int(pricelist[i])
④
i+=1
i+=1
if num==0:
print(“無(wú)方案“)
m=int(input(“目標(biāo)置換物品的價(jià)值:“))
price=input(“已獲得物品價(jià)值依次是:“)
p=price.jye.ai(“,“)#將輸入的內(nèi)容以“,”作分隔,并轉(zhuǎn)換為列表
print(“依次拿取物品序號(hào)的方案有:“)
exchange(m,p)
【答案】len(stack)!=0 or i<n或等同答案;t=t-int(pricelist[i])或等同答案;len(stack)!=0或等同答案;( ?。?;i+=1
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/5/23 20:38:36組卷:1引用:1難度:0.3