0

I am new to python and I am making a game in python I have two functions they are into different modules and when I call find_invotory() (show user's inventory), which uses a list to iterate over all the items in a list, it randomly prints none at the end of the list, I have no idea why,

Function 1:

def find_invontory():
  first_line = True
  invontory_lines = ["ITEM              OWNED"]
  store_items = ["ATTACK UNITS", "Infantry", "Tank", "Aircraft", "Atomic Missle", "Hydrogen Missle", "DEFENCE UNITS", "Defence Garrison", "Land Mines", "Anti Aircraft", "Laser Cannon", "DEFENCE BUILINGS", "Walls", "Fort", "Turret", "Bomb Shelter", "-----------------"]
  for item in store_items:
    if(item == store_items[0] or item == store_items[6] or item == store_items[11] or item == store_items[-1]): ### if statment so i dont all the collection funciton on my headers
      invontory_lines.append(item) 
    else:### calling the collection funciton with the object in list
      sps = ""
      CCmd = "get_" + item
      IG = collection(CCmd)
      number = len(item)
      while number < 19:
        sps += " "
        number += 1
      invontory_lines.append(item + ":" + sps + str(IG))
  for line in invontory_lines:## print all the items in list
    print(Fore.BLUE,  line)
    if first_line: ### print enter after first line
      ent()
    first_line = False

I am returning global variables, function 2:

def collection(var_needed):
  if var_needed == "get_items_bought":
    return total_items_bought
  elif var_needed == "get_money_spent":
    return money_spent
  elif var_needed == "get_Infantry":
    return infantry
  elif var_needed == "get_Tank":
    return tanks
  elif var_needed == "get_Aircraft":
    return air_craft
  elif var_needed == "get_Atomic Missle":
    return AM
  elif var_needed == "get_Hydrogen Missle":
    return HM
  elif var_needed == "get_Defence Garrison":
    return defence_troops
  elif var_needed == "get_Land Mines":
    return land_mines
  elif var_needed == "get_Anti Aircraft":
    return anti_aircraft
  elif var_needed == "get_Laser Cannon":
    return Lcannons
  elif var_needed == "get_Walls":
    if walls:
      return 1
    else:
      return 0

variables returning:

#### attack variables ###
infantry = 0
tanks = 0
air_craft = 0
AM = 0
HM = 0
### Defence buildings ##
walls = False
fort = False
turret = False
bomb_shelter = False
### defence units ##
defence_troops = 0
land_mines = 0
anti_aircraft = 0
Lcannons = 0

Output:

ITEM              OWNED

ATTACK UNITS
Infantry:           0
Tank:               0
Aircraft:           0
Atomic Missle:      0
Hydrogen Missle:    0
DEFENCE UNITS
Defence Garrison:   0
Land Mines:         0
Anti Aircraft:      0
Laser Cannon:       0
DEFENCE BUILDINGS
Walls:              0
Fort:               0
Turret:             0
Bomb Shelter:       0
-----------------
None

0 Answers0