Skip to content

Instantly share code, notes, and snippets.

@MichelleDalalJian
Created October 7, 2017 14:43
Show Gist options
  • Save MichelleDalalJian/0f7d3e76535142aa52377a1d48ff0600 to your computer and use it in GitHub Desktop.
Save MichelleDalalJian/0f7d3e76535142aa52377a1d48ff0600 to your computer and use it in GitHub Desktop.
9.4 Write a program to read through the mbox-short.txt and figure out who has the sent the greatest number of mail messages. The program looks for 'From ' lines and takes the second word of those lines as the person who sent the mail. The program creates a Python dictionary that maps the sender's mail address to a count of the number of times th…
fname = input("Enter file:")
if len(fname) < 1 : name = "mbox-short.txt"
hand = open(fname)
lst = list()
for line in hand:
if not line.startswith("From:"): continue
line = line.split()
lst.append(line[1])
counts = dict()
for word in lst:
counts[word] = counts.get(word,0) + 1
bigcount = None
bigword = None
for word,count in counts.items():
if bigcount is None or count > bigcount:
bigcount = count
bigword = word
print (bigword,bigcount)
@ShuckZ77
Copy link

name = input("Enter file:")

handle = open(name)

leest = list()

for line in handle:
if line.startswith('From '):

    line2=line.strip()
    
    line3=line2.split()
    
    line4=line3[1]
    
    leest.append(line4)
    
    #print(line4)

#print(leest)

dct = dict()

for email in leest:

dct[email] = dct.get(email,0) + 1

#print(dct)

dct_items = dct.items()

#print(dct_items)

coutmail = None
countcount = None

for K,V in dct_items:
if countcount is None or V>countcount:

    countmail=K
    countcount=V

print(countmail,countcount)

@ssaass090904
Copy link

ssaass090904 commented Apr 23, 2023

This is mine:

name = input("Enter file:")
handle = open(name)
counts = dict()

for line in handle:
if line.startswith('From:'):
words = line.split()
word = words[1]
else: continue
counts[word] = counts.get(word, 0) + 1

bigcount = None
bigword = None
for aaa, bbb in counts.items():
if bigcount is None or bbb > bigcount:
bigcount = bbb
bigword = aaa
print('The most sender is' , bigword,'with this number --->' , bigcount)

@KamdiaSJ
Copy link

fname = input("Enter file:")
if len(fname) < 1 : name = "mbox-short.txt"
hand = open(fname)

lst = list()

for line in hand:
if not line.startswith("From:"): continue
line = line.split()
lst.append(line[1])

counts = dict()
for word in lst:
counts[word] = counts.get(word,0) + 1

bigcount = None
bigword = None
for word,count in counts.items():
if bigcount is None or count > bigcount:
bigcount = count
bigword = word

print (bigword,bigcount)

@Inspire2023
Copy link

name = input("Enter file:")
if len(name) < 1:
    name = "mbox-short.txt"
handle = open(name, "r")

counts = dict()
big_value = None
big_Key = None

for line in handle:
    if line.startswith("From:"):
        words = line.split()
        word = words[1]
        word = word.strip()
        counts[word] = counts.get(word, 0) + 1

#print(counts)

for key, value in counts.items():
    if big_value is None or big_value < value:
        big_key = key
        big_value = value
        
print(big_key,big_value)
        
        


        
       


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment