PROG0028 - Homo or hetero
A list is homogenous if it contains at least two equal numbers. A list is heterogeneous if it contains at least two different numbers. For example, the list [2,2] is homogenous, and the list [2,1,4] is heterogeneous, the list [1,2,1,4] is both homogenous and heterogeneous, and the empty list is neither homogenous nor heterogeneous.
Assignment
Write a function homoOrHetero which can be used to determine the homogeneity and/or heterogeneity of a given list. The given list must be given to the function as an argument, and the function must print a string as a result that indicates the kind of list. The possible cases that need to be distinguished are
- both: if the list is both homogenous as heterogeneous
- homo: if the list is homogenous, but not heterogenous
- hetero: if the list is heterogenous, but not homogenous
- nothing: if the list is neither
Example
>>> homoOrHetero([9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]) 'homo' >>> homoOrHetero([1, 10, 4, 5, 6, 2, 3]) 'hetero' >>> homoOrHetero([10, 9, 8, 10, 2, 10, 4, 6, 3, 7, 5, 4, 4, 7]) 'both' >>> homoOrHetero([7]) 'nothing'
Een lijst is homogeen als ze ten minste twee gelijke getallen bevat. Een lijst is heterogeen als ze ten minste twee verschillende getallen bevat. Zo is de lijst [2,2] een voorbeeld van een homogene lijst, is de lijst [2,1,4] heterogeen, is de lijst [1,2,1,4] zowel homogeen als heterogeen, en is de lege lijst noch homogeen, noch heterogeen.
Opgave
Schrijf een functie homoOfHetero waarmee de homogeniteit en/of heterogeniteit van een gegeven lijst van natuurlijke getallen kan nagegaan worden. De gegeven lijst moet als argument aan de functie doorgegeven worden, en de functie moet als resultaat een string teruggeven die aangeeft om welk soort lijst het gaat. De mogelijke gevallen die hierbij moeten onderschreiden worden zijn
- beide: als de lijst zowel homogeen als heterogeen is
- homo: als de lijst homogeen is, maar niet heterogeen
- hetero: als de lijst heterogeen is, maar niet homogeen
- niets: als de lijst noch homogeen, noch heterogeen is
Voorbeeld
>>> homoOfHetero([9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]) 'homo' >>> homoOfHetero([1, 10, 4, 5, 6, 2, 3]) 'hetero' >>> homoOfHetero([10, 9, 8, 10, 2, 10, 4, 6, 3, 7, 5, 4, 4, 7]) 'beide' >>> homoOfHetero([7]) 'niets'
Added by: | Peter Dawyndt |
Date: | 2011-07-19 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |