Friday, July 24, 2015

თავი 9 (9,6 - 9,7)


9.6 ლექსიკონი

dictionary: გასაღებების მიბმა შესაბამის მნიშვნელობებზე.
hashtable: ალგორითმი, რომელიც გამოიყენება პითონის ლექსიკონებთან სამუშაოდ.
hash function: ფუნქცია, რომელსაც იყენებს hashtable გასაღების ლოკაციის გამოსათვლელად.
histogram: მთვლელების კომპლექტი
implementation: გამოთვლის შესასრულებელი გზა
item: გასაღები - მნიშვნელობის წყვილის კიდევ ერთი სახელი.
key: ობიექტი, რომელიც ლექსიკონში პირველი ჩანს გასაღები - მნიშვნელობის წყვილიდან.
key-value pair: გასაღების მნიშვნელობაზე მიმართვის გამოსახვა
lookup: ლექსიკონის ოპერაცია, რომელიც იღებს გასაღებს და პოულობს სათანადო მნიშვნელობას.
nested loops: როცა მარყუჟში არის კიდე ერთი ან მეტი მარყუჟი. შიგნითა მარყუჟი მუშაობს იმიტომ, რომ გარე მარყუჟმა მარტო ერთხელ დაამარყუჟოს.
value: ობიექტი, რომელიც ლექსიკონში მეორე ჩანს გასაღები - მნიშვნელობის წყვილიდან. ეს უფრო სპეციფიურია ვიდრე ის value, რომელსაც წინათ ვიყენებდით.

9.7 სავარჯიშოები

სავარჯიშო 9.2 დაწერე პროგრამა, რომელიც დაახარისხებს წერილებს დღეების მიხედვით. ამის გასაკეთებლად ნახე რომელი ხაზები იწყება "From - ით, შემდეგ ნახე მესამე სიტყვა და დათვალე კვირის ყოველი დღე, პროგრამის ბოლოს,  ამობეჭდე ლექსიკონის შიგთავსი(contents). რიგს მნიშვნელობა არ აქვს.

Sample Line:
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008

Sample Execution:
python dow.py
Enter a file name: mbox-short.txt
{'Fri': 20, 'Thu': 6, 'Sat': 1}

სავარჯიშო 9.3 დაწერე პროგრამა, რომელიც წაიკითხავს ფოსტის ჩანაწერებს(ჟურნალს) და ააშენებს ჰისტოგრამას ლექსიკონის გამოყენებით, რომ დათვალოს რამდენი წერილი მოვიდა თითოეული მისამართიდან და ბოლოს ამობეჭდოს ლექსიკონი.

Enter file name: mbox-short.txt
{'gopal.ramasammycook@gmail.com': 1, 'louis@media.berkeley.edu': 3,
'cwen@iupui.edu': 5, 'antranig@caret.cam.ac.uk': 1,
'rjlowe@iupui.edu': 2, 'gsilver@umich.edu': 3,
'david.horwitz@uct.ac.za': 4, 'wagnermr@iupui.edu': 1,
'zqian@umich.edu': 4, 'stephen.marquard@uct.ac.za': 2,
'ray@media.berkeley.edu': 1}

სავარჯიშო 9.4 დაამატე კოდი ზემოთ პროგრამას, რომ გაარკვიო ვის აქვს ყველაზე მეტი წერილი.
მთელი მონაცემის წაკითხვის და ლექსიკონის გაკეთების მერე, მარყუჟის გამოყენებით (see Section 5.7.2) ლექსიკონში ნახე ვის აქვს ყველაზე მეტი წერილი და ამობეჭდე რამდენი წერილი აქვს თითოეულს.

Enter a file name: mbox-short.txt
cwen@iupui.edu 5

Enter a file name: mbox.txt
zqian@umich.edu 195


სავარჯიშო 9.5 ეს პროგრამა იწერს დომაინების სახელებს(მისამართების ნაცვლად), საიდანაც წერილები გამოიგზავნა (წერილის გამომგზავნის მისამართის ნაცვლად). ბოლოს პროგრამა ბეჭდავს ლექსიკონის შიგთავსს(contents).

python schoolcount.py
Enter a file name: mbox-short.txt
{'media.berkeley.edu': 4, 'uct.ac.za': 6, 'umich.edu': 7,
'gmail.com': 1, 'caret.cam.ac.uk': 1, 'iupui.edu': 8}