Python: печать, если операторы не работают

Я делаю программу на Python, которая представляет собой приключенческую игру через дом с привидениями. Одна из важных вещей в этом списке owned_items, Он получает элементы, которые представлены строками, такими как "коробка спичек" или "факел", добавленные к нему, когда они находят их в доме или передаются им в начале random.choice, Иногда, когда они представлены с ситуацией, выбор, который им дают, зависит от того, есть ли у них конкретный предмет или нет.

Мой код:

#bullets is the variable for pistol ammo. During my testing of this function, it is at 5 when it should start
bullets=5

owned_items=[]
ronald_items=["a glass bottle", "a pistol", "a torch", "a small glass of      oil", "a box of matches", "a can of spray paint", "a small knife", "a pair of      surgical gloves", "a blessed amulet"]
owned_items.append(random.choice(ronald_items))
ronald_items.remove(owned_items[0]
owned_items.append(random.choice(ronald_items))
ronald_items.remove(owned_items[1])


#This part is in the actual definition where the problem appears when it should run
def skeleton_choice():
    if "a glass bottle" in owned_items:
        print('type "glass bottle" to attack the skeletons with that bottle')
    if "a pistol" in owned_items and bullets>1:
        print('type "shoot" to try firing your pistol at the skeletons')
    if "a small knife" in owned_items:
        print('type "small knife" to use your small knife against the skeletons')
    if "a kitchen knife" in owned_items:
        print('Type "kitchen knife" to use your kitchen knife against the skeletons')
    if "a blessed amulet" in owned_items:
        print('Type "amulet" to use the blessed amulet to make this a fairer fight')
    print('Type "hands" to just fight the skeletons with your body')
    print('Type "run" to try and get away from the skeletons')

Даже когда я знаю, что у меня есть 3 пункта в этих заявлениях if, ни один из отпечатков не появляется. Я использую ifs вместо elifs и else, потому что я хочу, чтобы он показывал отпечаток для всего, что у них есть, а не только для одного. Например, если у них есть стеклянная бутылка и кухонный нож, я хочу, чтобы он дал им распечатки для бутылки и ножа.

2 ответа

Решение

Вы нигде не вызывали функцию, поэтому она не работает. Просто добавь:

skeleton_choice()

линия в конце. Также в линии

ronald_items.remove(owned_items[0]

вам не хватает скобок.

Ваш код работает для меня. Это после того, как я добавил вызов skeleton_choice(). Может быть, ты просто не звонишь?

Другие вопросы по тегам