Checking homogeneity of Array using List in Python
Neil Cerutti
neilc at norwich.edu
Tue Aug 27 08:03:22 EDT 2013
On 2013-08-26, Joshua Landau <joshua at landau.ws> wrote:
> On 26 August 2013 14:49, Neil Cerutti <neilc at norwich.edu> wrote:
>> On 2013-08-25, sahil301290 at gmail.com <sahil301290 at gmail.com> wrote:
>>>
>>> eg. my input is ['1', ' ', 'asdasd231231', '1213asasd', '43242']
>>> I want it to be interpreted as:
>>> [1, [None], [None], [None], 43242]
>>>
>>> NOTE: NO INBUILT FUNCTION BE USED.
>>
>> Impossible. I think.
>
> class BoilerplateToStopCheating:
> def __init__(self):
> """Factor things out to prevent cheating."""
> self.digit_to_number = {"0":0, "1":1, "2":2, "3":3, "4":4,
> "5":5, "6":6, "7":7, "8":8, "9":9}
>
> def __call__(self, items):
> def fudging():
> """More cheat-fudging."""
> for item in items:
> try:
> as_number = 0
> for char in item:
> as_number *= 10
> as_number += self.digit_to_number[char]
> yield as_number
>
> except KeyError:
> yield [None]
>
> [*z] = fudging()
> return z
>
> converter = BoilerplateToStopCheating()
>
> # Can't use "print"...
> # Erm...
> converter(['1', ' ', 'asdasd231231', '1213asasd', '43242'])
> # Output: [1, [None], [None], [None], 43242]
Very nice! It seems like unlucky students sometimes get C
programming courses ham-fisted into Python without much thought.
--
Neil Cerutti
More information about the Python-list
mailing list