Python 3 ja str.center()

Anonyymi

print ( "[", str.center( 'aa', 10, '*' ), "]" )

Tulostaa [ ****aa**** ]

Koinka tuo saadaan niin, ettei reunoille jää välilyöntiä, siis näin [*****aa*****].

25

1322

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Pilkun syytä kaikki. Korvaa koodissasi pilkku plus -merkillä niin problem solved.

      • Anonyymi

        Näinhän se oli, pilkkuhan sen teki, nyt toimii oikein:

        print ( "[" str.center( 'aa', 10, '*' ) "]" )
        Nyt tulostaa niin kuin pitääkin: [****aa****]


    • Anonyymi

      Pythonissakin lienee trim()-funktio, joka poistaa tyhjät merkit merkkijonon päistä?

      • Anonyymi

        On kyllä tavallaan:
        strip()
        lstrip()
        rstrip()

        Mutta niistä ei tässä tapauksessa ole apua. Ehkä lähin voisi olla tämä:
        a = ( "[ " str.center( 'aa', 10, '*' ) " ]" )
        print( a.replace(" ", "") )
        tosin tuokaan ei korjaa kysyttyä tilannetta, jossa pilkun käyttö tuo nuo välilyönnit.


      • Anonyymi
        Anonyymi kirjoitti:

        On kyllä tavallaan:
        strip()
        lstrip()
        rstrip()

        Mutta niistä ei tässä tapauksessa ole apua. Ehkä lähin voisi olla tämä:
        a = ( "[ " str.center( 'aa', 10, '*' ) " ]" )
        print( a.replace(" ", "") )
        tosin tuokaan ei korjaa kysyttyä tilannetta, jossa pilkun käyttö tuo nuo välilyönnit.

        Joo, jos ei halua välilyöntejä merkkijonoja yhdistellessä, niin pilkkujen tilalle silloin plussat.


    • Anonyymi

      Ei tarvitse välttämättä erillistä funktiota.

      print('[' 5*'*' 'aa' 5*'*' ']')

    • Anonyymi

      Python on kyllä hyvä merkkijonojen kanssa kikkailuun. Esimerkiksi merkkijonon kääntäminen onnistuu ilman erillistä funktiota.

      a = 'abc'
      a[::-1] -> 'cba'

    • Anonyymi

      Kuten taas tuolta alareunasta voi lukea:

      Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

      Vaikka mitä korjauksia tekisivät tähän sivustoon, niin käyttäjän syyllistämistä eivät lopeta. Ei ole poistetuissa mitään "sääntöjenvastaista", moderointi ei vain toimi, mutta maailmalle pitää antaa kuva että käyttäjät ovat rikkoneet sääntöjä. Näistä jää aina pahamaku suuhun, kun käyttäjän on otettava vastuu, siitä että ylläpito ei osaa tehtäviään.

      • Anonyymi

        Mitähän lie tuossa kolmannessa poistetussa lukenut, tekikö käyttäjä jonkin rikoksen, näkikö kukaan.


    • Anonyymi

      Ymmärtääkseni str.center() komennossa str on se ympäröitävä stringi. Toimii jostain syystä esittämälläsi tavallakin, mutten löydä sitä mistään tuon komennon määrittelyistä. Onko joku historiallinen jäänne jostain? Vaiko joku uutuus? Onko tarpeen käyttää dokumentoimattomalla tavalla?

      s = 'aa'
      print('[' s.center(10,'*') ']')

      • Anonyymi

        Jospa sillä str-etuliitteellä vain halutaan kertoa minkä kirjaston funktiota käytetään. Tässä yksi esimerkki sen käytöstä: https://s3.gifyu.com/images/Valinta_102.png Kirjastohan sisältää 42 tavallisinta ja käytetyintä funktiota.

        Esimerkki tehty ja testattu:
        Linux Mint 19 Xfce 64-bit ympäristössä.
        Python 3.6.8


      • Anonyymi

        Näkyy kuuluvan "deprecated"-funktioihin.

        https://docs.python.org/2/library/string.html

        Sen sijaan pitäisi käyttää '^'-alignmentia format-metodille annettavan merkkijonon kanssa, esim. tässä tapauksessa:

        '{:*^10}'.format('aa')


    • Anonyymi

      Kun nyt perl -palstalla on python-osaajia, niin käytetään tilaisuutta hyväksi:

      #!/usr/bin/env python3
      import datetime, time
      loppu=4.274
      floppu=datetime.timedelta(seconds=loppu)
      print(loppu,"->",floppu)
      loppu=20.0
      floppu=datetime.timedelta(seconds=loppu)
      print(loppu,"->",floppu)

      4.274 -> 0:00:04.274000
      20.0 -> 0:00:20

      miten saisin jälkimmäisen olevan:
      20.0 -> 0:00:20.000000

      • Anonyymi

        print("%0.6f" % 20.00)
        20.000000

        Tuossa 6f kertoo tulostettavien desimaalien määrä. Katso lisää print-komennon tulostustavoista. Kaikki on aina tarkkaan määriteltävissä.


      • Anonyymi
        Anonyymi kirjoitti:

        print("%0.6f" % 20.00)
        20.000000

        Tuossa 6f kertoo tulostettavien desimaalien määrä. Katso lisää print-komennon tulostustavoista. Kaikki on aina tarkkaan määriteltävissä.

        ei tuo toimi kuin siihen saakka kuin sekunnit <60


    • Anonyymi

      Ei ole valmista formaattia, on tehtävä oma funktio jolla homma hoituu.

    • Anonyymi

      S24:sen parasta antia.

    • Anonyymi

      Tässä on ammattimiehet asialla. Näitä tarvitaan lisää.

    • Anonyymi

      Lisää Pythonia, paljon lisää.

    • Anonyymi

      Näin meillä, mites teillä.

    • Anonyymi

      Voi myös deletellä paikata Wordin, jos rivi ei vaihdu. Ite lisäsin pakan lisää väriä ,nii mageempi maisema

      • Anonyymi

        Etkö voisi kirjoittaa salaamatta tekstiä.


    • Anonyymi

      S24 tekee pilkkaa käyttäjistään, syyttämällä käyttäjiä sääntöjenvastaisista viesteistä. Viittaan tämänkin ketjun alareunassa olevaan huomautukseen.

      "Ketjusta on poistettu 3 sääntöjenvastaista viestiä."

    • Anonyymi

      Minkähän vuoksi tätä ketjua ei ole poistettu?
      Tässähän on selvästi asiaakin mukana.

      • Anonyymi

        TOTUUS ON TÄMÄ
        Ajattelepa näin; jos nämä asiaviestit poistettaisiin kokonaan, ja samaan aikaan kansa narisee keskustelujen huonosta tasosta joka ketjussa. Asiasta kiinnostuisi varmasti myös sellaiset tahot joiden sana painaa rivikansalaista enemmän, joten kyllä näillä harvoilla asiaa sisältävillä ketjuilla on vissi tarkoitus olemassa.


    Ketjusta on poistettu 4 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Anteeksi mies

      En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin
      Ikävä
      27
      3391
    2. Ripeyttä asiointiin

      Ottaa päähän yhden ja saman asiakkaan hitaus kassalla kun yhdellä kädellä nostelee ostoksia kärrystä ja välillä pitelee
      Hyrynsalmi
      28
      2141
    3. Palstan henkisesti sairaat ja lihavat

      Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals
      Ikävä
      114
      1670
    4. Mietin aina vain

      Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh
      Tunteet
      7
      1418
    5. Koska me nähdään

      Seuraavan kerran ja odotanko sitä?
      Ikävä
      76
      1359
    6. Kysyin kaikilta yhteisiltä tutuilta mielipidettä siitä, että kannattaako sinun kanssa alkaa!

      Päätös oli lähestulkoon yksimielinen. Minunkin vaisto antoi vaaranmerkkejä, mutta järkytyin mitä sinusta kuulin. Aluksi
      Tunteet
      138
      1236
    7. En tunne muita

      Kohtaan tätä samaa polttavaa halua vain sinua kohtaan. Ei vaan muut sytytä
      Ikävä
      64
      1056
    8. Olen vähän

      Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I
      Ikävä
      10
      974
    9. Ollaan kuin yö ja päivä

      Monessa asiassa… molemmat ollaan kuitenkin älykkäitä ja tiedämme, ettei kannata edetä tämän pidemmälle.
      Ikävä
      70
      931
    10. Oletko joskus lähestynyt jotakin

      väärällä identiteetillä? Miksi?
      Ikävä
      102
      912
    Aihe