Including tutor list. Please use ReplyAll when responding to the list.
Sorry about that. I am new to this so I didnt know I have to be very specific towards every detailIt depends on what you are asking, but in this case different downloads include different packages so we need to know which OS, which version and which web site you got it from. In this case I'll assume you got it from the python.org site? . I downloaded 'Python 3.3.2 Windows x86 MSI Installer (Windows binary -- does not include source)' Thats fine it does have Tkinter included. Personally, for Windows users I recommend getting the Activestate.com version of Python instead. It includes some nice extra features and it integrates Python more closely with the Windows environment. But thats not the cause of your problem here. from Tkinter import * > > >This is the problem. In Python v3 they changed the name of the Tkinter module >from Tkinter to tkinter(no caps). I think it was just to make the name more consistent with other modules... The result is you need to change your import to be from tkinter import * For the second part of the question.. I don't know which font I am using but I think its default font? OK, So in that case how are you running the program? Are you using IDLE or a CMD shell window? Or something else? One of the problems of using tabs, and of printing directly in general, is that the program may be displaying in many different environments and therefore with different fonts. You therefore have limited control over the output. That's why generating an HTML page which can have font information embedded into it and use tables etc to control layout is a more reliable option if you need precise control of layout. If precise control is not so necessary and you think the font will be monospaced then you can do some things in a print statement that will help, just be aware that it may not be 100% effective. while sMainContinue == "y"or sMainContinue =="yes" or sMainContinue =="YES"or sMainContinue =="Y": > > userMainInput = (input("Please select one option from menu: ")) > >You are making this hard for yourself./ Its usually better to convert the >input to lowercase (or uppercase if you prefer!) and then compare. So your line above could be: while sMainContinue.lower() in ('y','yes'): Also in the input() line you don't need the outer set of parens. But see below... #Robust Options: if input is a letter > > if userMainInput.isdigit(): > userInput = int(userMainInput)Again its more common in Python to just >do the conversion at the input stage and catch an exception if the data is bad., so that would look like try: userInput = int( input("Please select one option from menu: ") ) except ValueError: # deal with non numeric input here #Options1 > if userInput == 1: > print("\n********Road Information**********") > print("Road Name","Speed",sep = "\t\t") > for key,value in Dic.items(): > print(key,value,sep = "\t\t")And here is the display part and >it relies on tabs. Tabs work on fixed column positions so to be consistent you would need to check the length of the strings and insert the correct number of tabs depending on whether the string was shorter or longer. In your case it could be anywhere from 1 tab to 3 tabs... That's messy and using tabs for formatting like that is not recommended. Instead Python offers a formatting mechanism that you can apply to a string before it is printed which gives you much more control over spacing and justification etc. You could read about it in the official docs but there is a more accessible tutorial here: http://infohost.nmt.edu/tcc/help/pubs/python/web/new-str-format.html The key is to use fixed length string fields to output your data. You may optionally choose to left justify the name and right justify the speeds, or you could just left justify everything. The choice is yours. But remember format() still relies on the user having monospaced fonts for it to work properly. HTH, -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.flickr.com/photos/alangauldphotos
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor