¿Cómo determino la palabra más larga y más corta de un string?, sin usar métodos o funciones
¿Cómo determinar la palabra más larga `mayor` y la más corta `menor` de un String `S`?

z,n=0,0
mayor=''
menor=p
while z<len(S):
    for letra in S[z:len(S)] :
        z+=1
        n+=1
        if letra==' ':
            break
    if S[z-n:z-1]!='':
        if len(S[z-n:z-1])>=len(mayor):
            mayor=S[z-n:z-1]
        if len(S[z-n:z-1])<=len(menor):
            menor=S[z-n:z-1]
    n=0
print mayor
print menor