当前位置: 高中信息技术 / 综合题
  • 1. (2022高三上·浙江开学考) 小赵同学在某游戏平台中获得虚拟的食物、装备、材料等物品,他们分别有不同的价值, 现游戏平台有兑换机制,即可用多个不同物品换取一个等值的物品(每个物品只能取一样),左图为小赵同学已获得的物品。

    如要换取游戏中的物品“破天锤”,需要35个金币,有多种的置换方式,为方便计算以节省时间,小赵同学编写了如下程序,运行界面和代码如下,请在划线处填入合适的代码。

    def exchange(t,pricelist):

        n=len(pricelist) stack=[]

        i=0 num=0

        while:

            while t>0 andi<n:

                if t>=int(pricelist[i]): stack. append(i)

                   

                i+=1

                if t==0:

                    print("取序号为",stack,"的物品")

                    num+=1

            if:

                i=stack. pop()

                t+=int(pricelist[i])

           

        if num==0:

            print(" 无方案")

    m=int(input("目标置换物品的价值:"))

    price=input("已获得物品价值依次是:")

    p=price. split(",")      #将输入的内容以“,”作分隔,并转换为列表

    print("依次拿取物品序号的方案有:")

    exchange(m,p)

微信扫码预览、分享更方便