if __name__=="__main__": pricelist = [ ("Ship's Rations", 20), ("Hemp", 50), ("Luxury Rations", 75), ("Rum", 100), ("Powder and Shot", 200), ("Canvas", 200), ("Molasses", 240), ("Silk", 250), ("Timber", 300), ("Spices", 500), ("Journals", 600), ("Maps", 900), ("Gold", 3000) ] def fmt_price(coppers): fmt = "%ds %2dc" low = fmt % divmod(coppers/4, 100) fmt = "%2ds %2dc" base = fmt % divmod(coppers, 100) fmt = "%3ds %2dc" high = fmt % divmod(coppers * 8.5, 100) return low, base, high outf = open("pricelist.txt", "w") outf.write("%16s %6s %6s %6s\n" % ("Good", "low", "base","high")) for name, price in pricelist: low, base, high = fmt_price(price) outf.write("%16s (%6s) (%6s) (%6s)\n" % (name, low, base, high)) outf.close()