On 01/09/13 22:53, Nick Wilson wrote:
Enter command: print ---------------------------------- Code Price Quant Value ----------------------------------
The bit above needs to be printed once, at the start
TPW 2.00 5 10.00
This bit needs to be repeated for each share type
---------------------------------- Total cost: 10.00 ==================================
And this bit needs to be printed once at the end after doing the calculations.
**(This is all even when displayed in Wing101)
That will depend on fonts used etc. If you really need it aligned neatly I recommend using html and displaying it in a browser,
but its a lot more work that way!
PROMPT_FOR_COMMAND = 'Enter command: ' PROMPT_FOR_CODE = 'Enter share code to add: ' PROMPT_FOR_PRICE = 'Enter share price: ' PROMPT_FOR_QUANTITY = 'Enter share quantity: '
Were you ever a COBOL programmer by any chance?
def main(): """This is the main function for the program, ie, this function is called first when the program is run"""
There is nothing in Python that will run this first. You need to call it explicitly. This is often done inside a name test clause:
if __name__ == "__main__": main()
command = input(PROMPT_FOR_COMMAND).lower() if command == 'add': return portfolio.append(process_add_code(portfolio))
Are you sure you want to return here? That will terminate the main function without saving portfolio. You may want to create a menu system where you repeatedly ask for input until quit is selected.
if command == "print" and len(portfolio) <= 1: print_portfolio_table(portfolio) return main() if command == "quit": print(MESSAGE_GOODBYE)
HTH -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor