2ppremos: sám asi zjistíš že tebou uvedený příklad nebude úplně to pravé ořechové. Nápad na řešení je ale ve své podstatě dobrý - krokovat vstupní pole, zjistit počet nenulových prvků (pozor, obecně podmínka x>0 je jen zpola dostačující pro učení zda je x nenulové!) a podle toho oříznout pole2. Jen to nemáš úplně přesně napsané.
Do funkce filter() jsem tě směroval proto, že se dá díky ní celý ten cykl procházení vyřešit jedním příkazem:
pole_nenul=filter(lambda x: x !=0, pole)
Co jsem to vlastně napsal, se dá snadno dohledat na netu, pythonská lambda a filter je tam popsán i česky dostatečně podrobně. Každopádně, v pole_nenul budeš mít nenulové prvky z pole. Jejich pomocí se pak dá druhým příkazem vypsat pole2 omezené délkou pole - mrkni např. na http://www.geon.wz.cz/PyPriruckaAlfa/, sekce "Operace nad všemi posloupnostmi (řetězce, seznamy, n-tice)"
Pokud se přesto chceš držet vlastní programové konstrukce, tak po přečtení odkazu bys už lehce mohl zjistit, co a kde opravit aby ti z toho lezl požadovaný výsledek. Kdyžtak znovu napiš :-)
;-)