[pyar] Respuestas Quizz DevFest

Sebastian Bassi sebastian.bassi en globant.com
Lun Oct 18 11:51:10 ART 2010


2010/10/13 Gonzalo Larralde <gonzalolarralde en gmail.com>

> Estuvieron viendo la Quizz para anotarse al DevFest?
>

Si.

Se les ocurre como acortarla mas aún? Ahora está en 130 chars.
> C: len([i for i in range(1799,5626) if i % 2 == 0 and i % 3 == 0])
> D: len([i for i in range(18093, 35130) if not "9" in str(i) or "4" in
> str(i)])
> E: len([i for i in map(list,a.split()) if not False in [reduce(lambda
> x,y: x and y!=x and y,i), i[0]!=i[-1], sum(map(int,i))%2==0]])


En mi caso hice versiones largas, como si compitiese en el otro sentido:

def evenn(n):
    if n%2==0:
        return True
    else:
        return False

def div5(n):
    if n%5==0:
        return True
    else:
        return False

def noconsecutivos(n):
    ant = str(n)[0]
    for x in str(n)[1:]:
        if x == ant:
            return False
        else:
            ant = x
    return True

def sumaevenn(n):
    suma = sum(map(int,list(str(n))))
    if evenn(suma):
        return True
    else:
        return False

def primerodistintoultimo(n):
    if str(n)[0] != str(n)[-1]:
        return True
    else:
        return False

primerodistintoultimo(1223)
primerodistintoultimo(1221)

tot = 0
for x in range(1915,4382):
    if evenn(x) and div5(x):
        tot += 1
#print tot
tot = 0

for x in range(14089 and 28858):
    if "2" in str(x) and "7" not in str(x):
        tot += 1
        #print x

# leo numeros:

f = open("numeros.txt")
nums = []
for line in f:
    nums.append(line.replace("\n",""))

validos = 0

for x in nums:
    if noconsecutivos(x) and sumaevenn(x) and primerodistintoultimo(x):
        #print x
        validos += 1

print len(nums)
print validos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101018/de41bac2/attachment.html>


More information about the pyar mailing list