addToInventory 不会将至少一项添加到列表中

问题描述

inventario = {'Funi': 1,'Pozioni': 2,'Monete': 10,'Arco': 1,'Frecce': 3,'Spada': 1,'Smeraldi':0,'Spada epica':0}

def display_inventory(inventario):
    total_items = 0
    print ("Inventario attuale: ")
    for oggetto in inventario:
        print(str(inventario[oggetto]) + ' ' + oggetto)
        total_items += inventario[oggetto]
    print("Numero totale di oggetti: " + str(total_items))

if __name__ == '__main__':
    display_inventory(inventario)

volte = int(input("Quante volte vuoi combattere? "))
cont = 0
vita = volte * 10
giocoON = True
monete = 10
poz = 2
funi = 1
spada2 = 0
smeraldi = 0

while giocoON == True:
    import random
    rnd = random.randint(1,5)
    mostro = 10 + rnd
    frecce = 3
    print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
    print("•••• E' apparso un mostro di livello " + str(rnd) + "! ••••")
    while mostro > 0 and vita > 0 and giocoON == True:
        if cont >= volte:
            print(" ✓ Hai finito! ✓ ")
            giocoON = False
            break
        scelta = input ("""  Cosa vuoi fare?
        1. Attacca con spada (-5 vita)
        2. Attacca con arco e frecce (-7 vita / -1 freccia)
        3. Acquista nel negozio (Monete o smeraldi per oggetti)
        4. Utilizza pozione (-2 danno / + 5 vita)
        5. Utilizza fune (Salta battaglia attuale)
        6. Utilizza spada epica (-10 vita)
        """)
        if scelta == "1":
            print("•••• Hai attaccato il mostro con la spada,infliggendogli 5 di danno! ••••")
            mostro = mostro - 5
            dmg = random.randint(1,5)
            vita = vita - dmg
            print("•••• Il mostro ti ha attaccato a sua volta togliendoti " + str(dmg) + "! ••••")
            print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
            print("•••• Il mostro ha " + str(mostro) + " punti vita! ••••")
        if scelta == "2":
            if frecce > 0:
                print("•••• Hai attaccato il mostro con l'arco,infliggendogli 7 di danno! ••••")
                mostro = mostro - 7
                dmg = random.randint(1,5)
                vita = vita - dmg
                print("•••• Il mostro ti ha attaccato a sua volta togliendoti " + str(dmg) + "! ••••")
                print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
                print("•••• Il mostro ha " + str(mostro) + " punti vita! ••••")
                frecce = frecce - 1
                print("•••• Ora hai " + str(frecce) + " frecce! ••••")
            else:
                print("✗ Non hai frecce! ✗")
                print("•••• Il mostro non ha pietà e ti attacca comunque! ••••")
                dmg = random.randint(1,5)
                vita = vita - dmg
                print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
        if scelta == "3":
            negozio = input ("""  Cosa vuoi fare?
            1. Acquista 5 frecce (-10 monete) [7 di danno ai mostri]
            2. Acquista 3 pozioni (-10 monete) [+ 5 vita e - 2 di danno]
            3. Acquista fune (-20 monete) [Salti una battaglia]
            4. Acquista spada epica (-3 smeraldi) [-10 vita]
            """)
            if negozio == "1":
                if monete >= 10:
                    print(" ✓ Acquisto effettuato! ✓ ")
                    frecce = frecce + 10
                    print("•••• Ora hai " + str(frecce) + " frecce! ••••")
                else:
                    print(" ✗ Non hai abbastanza monete! Puoi guadagnarle uccidendo mostri! ✗")
            if negozio == "2":
                if monete >= 10:
                    print(" ✓ Acquisto effettuato! ✓ ")
                    poz = poz + 3
                    print("•••• Ora hai " + str(poz) + " pozioni! ••••")
                else:
                    print(" ✗ Non hai abbastanza monete! Puoi guadagnarle uccidendo mostri! ✗")
            if negozio == "3":
                if monete >= 20:
                    print(" ✓ Acquisto effettuato! ✓ ")
                    funi = funi + 1
                    print("•••• Ora hai " + str(funi) + " funi! ••••")
                else:
                    print(" ✗ Non hai abbastanza monete! Puoi guadagnarle uccidendo mostri! ✗")
            if negozio == "4":
                if smeraldi >= 3 and spada2 == 0:
                    print(" ✓ Acquisto effettuato! ✓ ")
                    spada2 = spada2 + 1
                    print("•••• Ora hai la spada epica! ••••")
                else:
                    if spada2 != 0:
                        print(" ✗ Hai gia' la spada epica ✗ ")
                    else:
                        print(" ✗ Non hai abbastanza smeraldi! Puoi guadagnarli uccidendo mostri! ✗ ")
            if scelta != "1" and "2" and "3" and "4":
                print(" Numero inesistente nella lista,riprova ↺ ")
        if scelta == "4":
            if poz >= 1:
                print("•••• Hai utilizzato una pozione! ••••")
                vita = vita + 5
                dmg = random.randint(1,5)
                vita = vita - dmg - 2
                print("•••• Il mostro ti ha attaccato,ma facendoti meno male,togliendoti " + str(dmg) + "! ••••")
                print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
                poz = poz - 1
                print("•••• Ora hai " + str(poz) + " pozioni! ••••")
            else:
                print(" ✗ Non hai pozioni! ✗")
        if scelta == "5":
            if funi >= 1:
                print("•••• Hai utilizzato una fune! ••••")
                funi = funi - 1
                print("•••• Ora hai " + str(funi) + " funi! ••••")
                cont = cont + 1
            else:
                print("✗ Non hai frecce! ✗")
                print("•••• Il mostro non ha pietà e ti attacca comunque! ••••")
                dmg = random.randint(1,5)
                vita = vita - dmg
                print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
        if scelta == "6":
            if spada2 == 1:
                print("•••• Hai attaccato il mostro con la spada epica,infliggendogli 10 di danno! ••••")
                mostro = mostro - 10
                dmg = random.randint(1,5)
                vita = vita - dmg
                print("•••• Il mostro ti ha attaccato a sua volta togliendoti " + str(dmg) + "! ••••")
                print("•••• I tuoi punti vita sono " + str(vita) + "! ••••")
                print("•••• Il mostro ha " + str(mostro) + " punti vita! ••••")
            else:
                print(" ✗ Non hai la spada epica,acquistala nel negozio! ✗ ")
        if scelta != "1" and "2" and "3" and "4" and "5" and "6":
            print(" Numero inesistente nella lista,riprova ↺ ")
        if vita <= 0:
            print("✗✗✗✗ Hai perso! ✗✗✗✗")
            giocoON = False
            break
        else:
            if mostro <= 0:
                premio = random.randint(1,20)
                print("★★★★ Hai sconfitto il mostro ★★★★")
                print("$$$$ Congratulazioni! Hai vinto " + str(premio) + " monete! $$$$")
                monete = monete + premio
                print("•••• Ora hai " + str(monete) + " monete! ••••")
                fortuna = random.randint(1,3)
                if fortuna == 2:
                    fr = random.randint(1,3)
                    print("☘ Che fortuna! Il mostro ha lasciato cadere " + str(fr) + " frecce e tu le hai raccolte! ☘")
                    frecce = frecce + fr
                    print("•••• Ora hai " + str(frecce) + " frecce! ••••")
                mostro = 10 + rnd
                cont = cont + 1
                bonus = ['Smeraldi ★']
                inventory = {
                    'Funi': funi,'Pozioni': poz,'Monete': monete,'Frecce': frecce,'Spada':1,'Smeraldi ★':0,'Spada epica ★': spada2
                    }
                print
                def add_to_inventory(inv,added_items):
                    added_itemsQ = {}
                    total_items = 0
                    for item in added_items:
                        added_itemsQ[item] = smeraldi + 1
                    for i in added_itemsQ:
                        if not i in inv:
                            inv[i] = added_itemsQ[i]
                        else:
                            inv[i] = inv[i] + added_itemsQ[i]
                    for i in inv:
                        print(str(inv[i]) + " " + str(i))
                        total_items += inv[i]
                    print ("Oggetti totali: " + (str(total_items)))
                add_to_inventory(inventory,bonus)
                if cont < volte:
                  print("➔➔➔➔ PROSSIMO AVVERSARIO ➔➔➔➔")
                    

好的,这是我的代码,我会尽量以最好的方式总结它,正如你所看到的,它是意大利语,但我会翻译成英文,这段代码一个游戏,特别是一个回合- 基于游戏,你与怪物战斗,然后当你赢了你会得到一个绿宝石,允许你购买一把新剑,这是完整的代码,在那里

              ` bonus = ['Smeraldi ★']
                inventory = {
                    'Funi': funi,bonus)

` 是应该给我一个库存项目(Smeraldi)的代码的一部分,问题是它没有按预期工作,结果总是“Smeraldi:1”它没有添加额外的,导致用户根本无法购买新剑。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)