Programiranje v Pythonu

Ko tudi učitelj ne more pomagati...
Odgovori
fmf
Prispevkov: 210
Pridružen: 28.6.2012 16:02

Re: Programiranje v Pythonu

Odgovor Napisal/-a fmf »

Hvala...imam še eno vprašanje iz nizov...kako bi napisal funkcijo "razrezi(besedilo,n)", ki niz besedilo razreže na n enakih kosov, upoštevajoč presledke in vrne seznam razrezanih delov(elementi so deli razrezanega besedila(nizi)). Zadnji element seznama je seveda lahko krajši, saj število znakov v nizu ni nujno deljivo z n. Primer: razrezi("To je primer niza.",4) vrne rezultat: ["To j", "e pr", "imer"," niz","a."]. Najlepša hvala za odgovor ;)

Math Freak
Prispevkov: 29
Pridružen: 4.1.2014 12:36

Re: Programiranje v Pythonu

Odgovor Napisal/-a Math Freak »

To meni izgleda, kot da je razrezano na 5 delov in ne na 4?

Math Freak
Prispevkov: 29
Pridružen: 4.1.2014 12:36

Re: Programiranje v Pythonu

Odgovor Napisal/-a Math Freak »

Drugače pa je ena od možnih rešitev: deli število znakov v celotnem besedilu s številom kosov in dobil boš število znakov, ki naj jih vsebuje del besedila, ki jih boš dodajal v seznam. Potem se z zanko sprehodi čez celotni besedilo in sproti dodajaj dele besedila, ki so določene dolžine v seznam.

primer:

Koda: Izberi vse

def razrezi(besedilo,n):
    stCrk = len(besedilo)/n
    delBesedila = ""
    sez=[]
    for i in besedilo:
        if stCrk > len(delBesedila):
            delBesedila += i
        else:
            sez.append(delBesedila)
            delBesedila = i
    sez.append(delBesedila)
    return sez

print(razrezi("To je primer niza.",4))

fmf
Prispevkov: 210
Pridružen: 28.6.2012 16:02

Re: Programiranje v Pythonu

Odgovor Napisal/-a fmf »

Seveda, tam bi morala biti 5ka, se opravičujem. Nisem se spomnil, da bi kar dolžino besedila delil z n....hvala

Odgovori