Я делаю программу python, которая является приключенческой игрой через дом с привидениями. Одна из больших вещей в этом списке - owned_items
. Это получает предметы, которые представляются строками типа «ящик совпадений» или «факел», прилагаемый к нему, когда они находят их в доме или даются им в начале random.choice
. Иногда, когда им предоставляется ситуация, какой выбор они дают, зависит от того, есть ли у них определенный предмет или нет.Python: печать в том случае, если операторы не работают
Мой код:
#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 из пунктов в них, если заявления, ни один из отпечатков не показывается. Я использую ifs, а не elifs и else, потому что я хочу, чтобы он показывал печать для всего, что у них есть, а не только для одного. Например, если у них есть стеклянная бутылка и кухонный нож, я хочу, чтобы он дал им распечатки для бутылки и ножа.
Если это ваш полный код и игнорирование ошибки отступа в 'def skeleton_choice()', вы не вызываете функцию, чтобы она не запускалась. – roganjosh
выглядят так, как будто ваша функция имеет неправильное намерение и нет ввода для нее, как 'def skeleton_choice (input)' – Bryan
Я не знаю, связано ли это с вопросом или с моей неудачной копией и вставкой, но ifs в соответствии с sk скелета, а не в def. Нет ничего плохого в отступе, которое я вижу. –