Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.
Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!
Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!
Hej!
Läser just nu ormtjusar-guiden på wikin och har så gott som lyckats göra ett program nu som skriver ett ord i en "låda". Men om vi först tittar på koden:
#!/usr/bin/python
# * coding:utf8 *
#Detta programmet skriver ett ord i en ram såhär:
# +-------+
# | Nisse |
# +-------+
#Programmet är uppbyggt i delar. En del som ritar strecken och tar reda på hur bred ramen skall vara
#och en del som skriver ordet i ramen
#Funktion för att rita strecken:
def rita_streck(steg):
print "+-" #strecken i början
while steg > 1:
print "-" #rita ett nytt träck för varje bokstav
steg=steg-1
print "-+" #strecken i slutet
#Funktion för att rita själva ramen:
def rita_ram(ord):
steg=len(ord) #ge variabeln steg samma värde som antalet bokstäver
rita_streck(steg) #skriv ut de övre strecken
print "| "+ ord+" |" #skriv ut ordet och sidorna
rita_streck(steg) #rita de nedre strecken
ord=raw_input("Skriv ett ord: ")#skriv in ordet
rita_ram(ord) #befallning att göra en ram med ordet iSå ni ser att resultatet blir:
+-
-
-
-
-
-+
| Nisse |
+-
-
-
-
-
-+Hmm, fel någonstans!
Hur får jag strecken på samma rad??
Har inte koll direkt här, men testa med ett kommatecken:


print "+-",
http://www.kimjohansson.se | http://www.superkadavret.net | Stand up: http://tinyurl.com/bznoxm
Print verkar göra nyrad för varje utskrift. Skapa en "buffer-sträng" som du lägger dina '-' i, sen skriver du ut den på raden före och efter din text.
----------------------------------
where my .emacs is, that's my home
---------------------------------------
Open Source - because writing software doesn't make you a "traitor"
#!/usr/bin/env python
namn="Palle Kuling"
hor = "+" + "-" * (len(namn) +2) + "+"
print hor + "\n| " + namn + " |\n" + hor
---
http://screentan.org
http://fejk.bloggtopp.com/
Ja, ja, man måste lägga ett komma till slutet av raden för att förhindra '\n' från att utskriva.
--
I hear a million voices
They're screaming through my head
Messages of death that I could understand
--
Svenska är inte mitt modersmål. Rätta mina många skrivfel, snälla, oavsett hur små de är.