Python :: Aufgabe #320

5 Lösungen Lösungen öffentlich

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ß

Lösungen:

vote_ok
von satn1241 (3090 Punkte) - 14.02.2021 um 17:23 Uhr
Quellcode ausblenden Python-Code
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)
vote_ok
von vMaex (540 Punkte) - 17.02.2021 um 10:12 Uhr
Quellcode ausblenden Python-Code
#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()

vote_ok
von felixTheC (1200 Punkte) - 17.02.2021 um 13:56 Uhr
Quellcode ausblenden Python-Code
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)])
vote_ok
von eisheiliger (3750 Punkte) - 21.02.2021 um 16:23 Uhr
Quellcode ausblenden Python-Code
"""
#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)

vote_ok
von bdoc137 (260 Punkte) - 05.03.2021 um 22:11 Uhr
Quellcode ausblenden Python-Code
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))

2108513

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.