bild
Skolan för
elektroteknik
och datavetenskap

FAQ: Svar på vanliga frågor

Utskrift med print

  1. Jag vill inte ha ny rad mellan min utskrifter.
    Skriv ett komma(,) efter print-satsen, t ex
    print "Strumpor och",


  2. Jag försöker skriva ut en rad streck med en slinga, men får mellanslag mellan varje tecken, så här - - -, istället för ---. Hur ska jag göra för att Python inte ska lägga in mellanslagen automatiskt?
    I modulen sys finns en variabel som inför varje print håller reda på om ett mellanslag ska skrivas ut eller inte. Man kan själv ställa om variabeln så här:
    import sys
    for i in range(5): 
        print "-",
        sys.stdout.softspace = False
    

  3. När jag läst in en rad från fil och skriver ut den på skärmen så skrivs en extra tomrad ut.
    Varje rad du läser in från filen har ett radbrytningtecken "\n" i slutet. Du får enklast bort detta genom att på varje rad du läser från filen använda funktionen strip(). I stället för:
    raden = filen.readline()
    skriver du:
    raden = filen.readline.strip()


  4. Hur gör man formatterad utskrift?
    Exempel:
       print "      Sko      Storlek    Pris"
       print " %10s%8i%12.2f"%(skonamn,storlek,pris)
    
    Här är skonamn en sträng som skrivs ut i tio positioner (%10s), storlek ett heltal som skrivs ut i åtta positioner (%8i) och pris ett flyttal som skrivs ut i tolv positioner med två decimaler (%12.2f).
    Per Sedholm har gjort en urförligare beskrivning av formatterad utskrift.
    (Officiell dokumentation på engelska finns på http://docs.python.org/lib/typesseq-strings.html.)

Copyright © Sidansvarig: Linda Kann <linda@nada.kth.se>
Uppdaterad 2013-01-02