Seite 1 von 1

Problem mit Zeilenumbruch

Verfasst: Freitag 2. Oktober 2009, 09:36
von may24
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()

Verfasst: Freitag 2. Oktober 2009, 09:45
von gkuhl
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

Verfasst: Freitag 2. Oktober 2009, 09:59
von derdon

Code: Alles auswählen

>>> import sys
>>> sys.stdout.write('Hallo '); sys.stdout.write('Welt!')
Hallo Welt!>>> 
>>> 

Verfasst: Freitag 2. Oktober 2009, 11:03
von may24
@gkuhl ja, genau das isses. Da muß man aber erst mal drauf kommen ... :lol:

@Alle Danke !

Verfasst: Freitag 2. Oktober 2009, 17:42
von 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)

?

Verfasst: Samstag 3. Oktober 2009, 11:33
von sma

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