Python :: Aufgabe #320
5 Lösungen
Text gemäß Vorlage neu sortieren
Anfänger - Python
von JKooP
- 12.02.2021 um 09:53 Uhr
Ein durcheinandergeratener Text soll gemäß einer Vorlage (Array) neu sortiert werden.
Dazu soll eine Methode/Funktion erstellt werden, mit der man die Zeichen des
Ausgangstextes gemäß den vorgegebenen Positionen im Array neu anordnet.
Ausgangstext = "programmyourtrainer"
Array = [ 9, 10, 11, 12, 13, 14, 15, 16, 5, 6, 7, 8, 0, 1, 2, 3, 4, 17, 18 ]
Zieltext = "trainyourprogrammer"
Erläuterung:
Das erste Zeichen des Ausgangstextes (p) muss gem. Array an die 9. Position.
Das Zeichen (y) muss an die 5. Position. Achtung: Array ist nullbasiert!
_ _ _ _ _ y _ _ _ p _ _ _ _ _ _ _ _
Viel Spaß
Dazu soll eine Methode/Funktion erstellt werden, mit der man die Zeichen des
Ausgangstextes gemäß den vorgegebenen Positionen im Array neu anordnet.
Ausgangstext = "programmyourtrainer"
Array = [ 9, 10, 11, 12, 13, 14, 15, 16, 5, 6, 7, 8, 0, 1, 2, 3, 4, 17, 18 ]
Zieltext = "trainyourprogrammer"
Erläuterung:
Das erste Zeichen des Ausgangstextes (p) muss gem. Array an die 9. Position.
Das Zeichen (y) muss an die 5. Position. Achtung: Array ist nullbasiert!
_ _ _ _ _ y _ _ _ p _ _ _ _ _ _ _ _
Viel Spaß
Lösungen:
Ausgangstext = "programmyourtrainer"
laenge = len(Ausgangstext)
Zieltext = [""] * laenge
Array = [9, 10, 11, 12, 13, 14, 15, 16, 5, 6, 7, 8, 0, 1, 2, 3, 4, 17, 18]
for i in range(0, laenge):
Zieltext[Array[i]] = Ausgangstext[i]
Ausgabe = ""
for e in Zieltext:
Ausgabe += e
print(Ausgabe)
#320 Text gemäß Vorlage neu sortieren
ausgangstext = 'programmyourtrainer'
arr = [9, 10, 11, 12, 13, 14, 15, 16, 5, 6, 7, 8, 0, 1, 2, 3, 4, 17, 18]
zieltext = ''
def neu_sortieren():
liste = []
ziel = []
x = 0
for i in range(len(arr)):
ziel.append('')
for i in ausgangstext:
liste.append(i)
for i in arr:
ziel[i] = liste[x]
x += 1
zieltext = ''.join(ziel)
print(zieltext)
neu_sortieren()
from typing import List
def sort_text_by_arr(text: str, arr: List[int]) -> str:
assert len(text) == len(arr), f'params must have same size'
dct = {elem: char for char, elem in zip(text, arr)}
return ''.join([dct[val] for val in sorted(dct)])
"""
#320 Text gemäß Vorlage neu sortieren
Ein durcheinandergeratener Text soll gemäß einer Vorlage (Array) neu sortiert werden.
"""
Array = [9, 10, 11, 12, 13, 14, 15, 16, 5, 6, 7, 8, 0, 1, 2, 3, 4, 17, 18]
Ausgangstext = "programmyourtrainer"
Arr_m = [""] * 19
aus = ""
for i in range(0, len(Array)):
Arr_m[Array[i]] = Ausgangstext[i]
for j in range(0, len(Arr_m)):
aus += (Arr_m[j])
print(aus)
Ausgangstext = "programmyourtrainer"
Array = [ 9, 10, 11, 12, 13, 14, 15, 16, 5, 6, 7, 8, 0, 1, 2, 3, 4, 17, 18 ]
Zieltext = "trainyourprogrammer"
ziel=[]
for i in range(0,len(Array)):
a=Array.index(i)
ziel.append(Ausgangstext[a])
print(''.join(ziel))
