Python :: Aufgabe #49

2 Lösungen Lösungen öffentlich

Spaltenbreite und Blocksatz

Anfänger - Python von bibir - 03.09.2014 um 08:33 Uhr
Ein vorgegebener Text soll eingelesen und in einer bestimmten Spaltenbreite wieder ausgegeben werden.
Die Spaltenbreite N wird als Eingabeparameter vorgegeben. Der Text besteht aus "Wörtern", die durch Leerzeichen (Blank) getrennt sind. Unter einem "Wort" wird hier eine beliebige zusammenhängende Zeichenkette verstanden, wobei jedes Zeichen eine Druckstelle einnimmt.

Der Text soll ausgerichtet werden an den beiden Spaltenrändern, und die zusätzlich einzuführenden Blanks sollen möglichst gleichmäßig auf die Zwischenräume zwischen den Wörtern verteilt werden.

Der Text beginnt in einer Spalte grundsätzlich linksbündig, Wörter, die länger sind als die Spaltenbreite, werden am rechten Rand ohne Trennzeichen zwangsweise getrennt. Silbentrennung darf nicht durchgeführt werden.

Lösungen:

vote_ok
von jigga (4260 Punkte) - 03.09.2015 um 15:29 Uhr
Quellcode ausblenden Python-Code
zeichen = 0

text = list(input("Text eingeben: "))

breite = int(input("Breite eingeben: "))
print()

for i in range(len(text)):
	zeichen += 1
	if zeichen == breite:
		zeichen = 0
		print(text[i])
	else:
		print(text[i], end = '')
1 Kommentar
vote_ok
von 0 (0 Punkte) - 02.10.2017 um 21:48 Uhr
Quellcode ausblenden Python-Code
text=input("Bitte geben Sie den Text ein:")
b=int(input("Breite der Spalten:"))
zaehler=0
for i in text:
    zaehler+=1
    print(i,end='')
    if zaehler==b:
        print()
        zaehler=0

#Hoffe so war es gemeint, habe die Aufgabenstellung nicht so ganz verstanden