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

1662

    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. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      120
      3028
    2. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      35
      1415
    3. Kultasi eka kirjain? Kuka haluaa

      A haluaa J
      Ikävä
      104
      1279
    4. Kristillinen kaste annetaa upotuskasteena

      Kristillinen upotuskaste perustuu juutalaiseen mikve-kasteeseen, jossa upottaudutaan veden alle kokonaan. Paavali vertas
      Kaste
      162
      1027
    5. Koko kansan kaste Punaisen meren ylityksen aikana

      Koko Israelin 2,5 milj.kansa sai kasteen ja Pyhän Hengen lahjan ylittäessän Punaisen meren. 1.Kor.10 1 Sillä minä en ta
      Kaste
      366
      1017
    6. Empaattisuus ja suoruus.

      Tässä tullut noita pehmeitä asioita pohdittua, mutta toisaalta olen myös yksinkertainen mies. Pidän suoruudestakin. Mi
      Sinkut
      133
      1008
    7. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      60
      937
    8. Ehkä vähän

      Rakastunut sinuun
      Ikävä
      41
      747
    9. Sä saat mut tuntemaan

      Jotain sellaista mitä ei saisi tuntea mutta må en mahda tälle mitään. Mulla on ikävä niitä meidän katseita ja sitä tunne
      Ikävä
      22
      733
    10. Tunnettujen vanhempien lapset, tv-sarja

      Tunnettujen vanhempien lapset saa tv-sarjan. Juurihan yksi heistä oli MTV:ssä 6.5.26 kertomassa ettei halua julkisuutta
      Kotimaiset julkkisjuorut
      112
      681
    Aihe