OK, how do I make this program allow the user to modify the price of items and save and load the modified catalog? i've spent ages trying and failing. pls help!
'''maintain a catalog'''
def main():
global catalog
loadCatalog()
while True:
pick = showMenu()
if pick == 0:
break
elif pick == 1:
sellItem()
elif pick == 2:
buyItem()
else:
print "Invalid selection"
saveCatalog()
def showMenu():
global catalog
while True:
print "Catalog:\n\t%6s %12s %8s %8s" % ( "ItemID", "Item", "Price", "Stock" )
for k in catalog.keys():
print "\t%6d %12s %8s %8d" % (k,catalog[k][0], str("$%0.2f" % catalog[k][1]), catalog[k][2])
try:
pick = int(raw_input('''
Enter selection:
0 - Quit
1 - sell Item
2 - buy Item
Selection : ''' ))
except:
print "Pick must be an integer\n"
continue
return pick
def sellItem():
global catalog
print "sellItem"
try:
itemID = int(raw_input("Which item? "))
if itemID in catalog.keys():
howMany = int(raw_input("How many? "))
if 0 < howMany <= catalog[itemID][2]:
catalog[itemID][2] -= howMany
print "Price for %d %s is $%0.2f" % ( howMany, catalog[itemID][0],catalog[itemID][1]*howMany )
else:
print "Can't sell %d %s" % ( howMany, catalog[itemID][0] )
else:
print "Invalid itemID"
except:
print "Bad value entered"
print
def buyItem():
global catalog
print "buyItem"
try:
itemID = int(raw_input("Which item? "))
if itemID in catalog.keys():
howMany = int(raw_input("How many? "))
if 0 < howMany:
catalog[itemID][2] += howMany
else:
print "Can't buy %d %s" % ( howMany, catalog[itemID][0] )
else:
print "Invalid itemID"
except:
print "Bad value entered"
print
def loadCatalog():
global catalog
catalog = { 1:["Bread", 1.50, 10 ], 2:["Cheese", 5.00, 5], 3:["Apples", 2.50,12] }
def saveCatalog():
global catalog
pass
if __name__ == "__main__":
main()