[Tutor] PYTHON NEWBIE HELP!
alan.gauld at btinternet.com
Mon Oct 15 09:49:46 CEST 2012
On 15/10/12 02:21, Salinas, Erwin d wrote:
> HELP! Hi I'm a newbie in Python, I'm having trouble organizing the FILE
> into the OUTPUT BELOW. I put the file into read, then I put it on a
> list, and my plan is to put the name and the corresponding grades into a
> dictionary, using the elements on the list, but when I print the
> dictionary, it's not giving me the result I wanted. MY CODE SO FAR IS
> SHOWN BELOW THE OUTPUT.
There are lots of things we could comment on but I'll highlight just a
few key ones. Fix them and try again...
> filename = open("student_grades_hm_5.txt")
> infile = filename.read()
This reads the entire file as a single string.
You might find file.readlines() more useful in this case.
> mix_list = infile.split()
This splits the file based on whitespace. It will ignore commas so that
for example your first few items will be split:
['HM3', '80' ',' 'HM2' ',90' ',' 'ID,' '1000123456,HM4,92,Last_name,Rubble']
You can see this if you print the mix_list variable.
Notice that you have commas on their own and the last 'item'
is a long one. You need to look more closely at how you want
split to work. Check the documentation.
> print "Name | ID | HM1 | HM2 | HM3 | HM4 | Avg. |"
> print "______________________________________________________"
> Student_one =
This probably gives you the wrong result because of the way you used
split(). Also it will only output a single line, but for testing that
may all you intended?
But for future reference its always worth providing a sample of the
faulty output so that we don;t need to guess. And instead of just saying
it's 'not giving me the result I wanted', be more specific about what
you perceive as being wrong. For example 'wrong data', 'bad formatting',
'incomplete data' etc
Author of the Learn to Program web site
More information about the Tutor