On 06/08/2015 05:22, Ltc Hotspot wrote:

Please don't top post here, it makes following long threads difficult.

Mark,

Replace  count[address]= count.get(address,0) +1 with  c =
Counter(['address'])?

Try it at the interactive prompt and see what happens.


Regards,
Hal

On Wed, Aug 5, 2015 at 9:03 PM, Mark Lawrence <breamore...@yahoo.co.uk>
wrote:

On 05/08/2015 23:58, Ltc Hotspot wrote:

Hi Mark,

Address identifies the email address with the maximum  number of sends:
c...@iupui.edu.

Secondly, we are missing a count on the number of messages sent by
c...@iupui.edu, i.e., 5.

Thirdly, maxval 'none' is not defined on line # 24

Questions: How do we define the value of none for the key maxval and
retrieve a number count on the number of messages sent by c...@iupui.edu.


NameError:

Traceback (most recent call last)
C:\Users\vm\Desktop\apps\docs\Python\assignment_9_4_5.py in <module>()
       22 ## find the greatest number of mail messages.
       23
---> 24 maxval = none
       25 maxkee = none
       26 for kee, val in count.items():

NameError: name 'none' is not defined

In [52]: print address
c...@iupui.edu

Revised data:


## The program looks for 'From ' lines and takes the second
## word of those lines as the person who sent the mail.

fname = raw_input("Enter file name: ")
handle = open (fname, 'r')
for line in handle:
      if line.startswith("From: "):
          address = line.split()[1]


## The program creates a Python dictionary that maps
## the sender's mail address to a count of the number
## of times they appear in the file.

          count = dict()
          for wrd in address:
              count[wrd]= count.get(wrd,0) +1

## After the dictionary is produced, the program reads
## through the dictionary using a maximum loop to
## find the greatest number of mail messages.

maxval = none
maxkee = none
for kee, val in count.items():
      if maxval == none or maxval <val:
          maxval = val
          maxkee = kee


You can greatly simplify all of the above code if you use a Counter from
the collections module
https://docs.python.org/3/library/collections.html#collections.Counter

--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence


--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to