Problem mit Zeilenumbruch

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
may24
User
Beiträge: 27
Registriert: Montag 7. September 2009, 17:14

Hallo zusammen.

Habe hier folgendes Problem: Ich habe diverse Werte in einem Array gespeichert. Diese möchte ich in einer Zeile ausgeben. Hinzu kommt das ich eine art "tab" haben möchte der die Werte in immer gleichem Abstand ausgibt. Dafür habe ich eine Funktion geschrieben die genau das macht. Um das Array auszugeben rufe ich eine Schleife mit dieser Funktion auf.
Nur leider print'ed python jedes mal noch einen Zeilenumbruch nach jedem Wert anstatt alles in eine Zeile zu packen. Leider scheint strip() nicht so zu funktionieren wie es sollte. Hat jemand 'ne Idee ?

Hier ein Auszug aus dem Code:

Code: Alles auswählen

################################################
def tab(string,tab_width):
	string = str(string)
	stringlen = len(string)
	if tab_width == None:
                tab_width = 4
	if stringlen >= tab_width:
		tab_width = stringlen + 1
	else:
		space = " " * (tab_width - stringlen)
	
	return (string + space).strip()

################################################

for i in range(0,len(OutputArray)):
	print OutputArray[i][0]+":"
	print "0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20  21  22  23"
	print "-----------------------------------------------------------------------------------------------"
	for t in range(1,24):
		print tab(OutputArray[i][t],5).strip()
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Hallo may24!

Code: Alles auswählen

In [1]: text = 'Hallo Welt!'

In [2]: for letter in text:
   ...:     print letter
   ...:     
   ...:     
H
a
l
l
o
 
W
e
l
t
!

In [3]: for letter in text:
   ...:     print letter,
   ...:     
   ...:     
H a l l o   W e l t !
Das Geheihmnis ist das Komma! :-)

Grüße
Gerrit
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Code: Alles auswählen

>>> import sys
>>> sys.stdout.write('Hallo '); sys.stdout.write('Welt!')
Hallo Welt!>>> 
>>> 
may24
User
Beiträge: 27
Registriert: Montag 7. September 2009, 17:14

@gkuhl ja, genau das isses. Da muß man aber erst mal drauf kommen ... :lol:

@Alle Danke !
problembär

may24 hat geschrieben:Ich habe diverse Werte in einem Array gespeichert. Diese möchte ich in einer Zeile ausgeben.
Was ist mit

Code: Alles auswählen

print " tab ".join(yourarray)
(Vorausgesetzt alle Werte in yourarray sind Strings)

?
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Code: Alles auswählen

a = [1, 121, 343, 43423, 2, 14]
print "____v " * len(a)
print " ".join(str(a).rjust(5) for a in a)
Stefan
Antworten