PROG0176 - Long and short

In section 9.2 of the textbook, a program is described that can determine a frequency table from the words in a text. The goal of this exercise is to write the function that works on a dictionary as made by that program, i.e. you may assume that the dictionary has strings as keys and integers as values. The intention is to write a function that prints the amount of long and short words in a text (for a given definition of short and long).

Assignment

Write a function longShort that takes a whole number as an argument and prints a tuple of integers. The first number in the result is the sum of the values of the items with a key that has a length larger than or equal to the given integer. The second number is the sum of the other values.

Example

>>> table = {'hello': 1, 'world':1}
>>> longShort(table, 5)
(2, 0)
>>> longShort(table, 6)
(1, 1)
>>> longShort(table, 10)
(0, 2)

In paragraaf 9.2 van het handboek wordt een programma beschreven dat een frequentietabel kan bepalen van de woorden in een tekst. De bedoeling van deze oefening is om een functie te schrijven die werkt op een dictionary zoals gemaakt door dat programma, d.w.z. je mag er van uitgaan dat de dictionary strings als sleutels heeft en gehele getallen als waarden. De bedoeling is om een functie te schrijven die teruggeeft hoeveel lange woorden er in de tekst zaten en hoeveel korte woorden (voor een gegeven definitie van kort en lang).

Opgave

Schrijf een functie langKort die een dictionary en een geheel getal als argument neemt en een tuple van gehele getallen teruggeeft. Het eerste getal in het resultaat is de som van de waarden van de items met een sleutel die een lengte groter dan of gelijk aan het opgegeven geheel getal heeft. Het tweede getal is de som van de andere waarden.

Voorbeeld

>>> tabel = {'hello': 1, 'world':1}
>>> langKort(tabel, 5)
(2, 0)
>>> langKort(tabel, 6)
(1, 1)
>>> langKort(tabel, 7)
(0, 2)

Added by:Peter Dawyndt
Date:2011-11-02
Time limit:10s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:
Resource:None

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.