Hallo an alle.
Ich habe vor kurzer Zeit angefangen Python zu lernen und komme leider nicht weiter.
Zu Beginn soll man eine Eingabe mit max 15 Zeichen eintippen (habe ich bis jetzt mit input() len() geschafft zu begrenzen).
Die Eingabe soll eine Variable sein mit dem Namen XY (ich weiß noch nicht wie ich es nenne).
Und ab hier komme ich nicht weiter:
ich will, dass die Variable XY in kleinere Variablen geteilt wird z.B XY = 12345678 soll zu part1= 12, part2= 34, part3= 56, part4= 78 geteilt werden und jeweils als Variable part1/2/3 etc. abgespeichert werden, sodass ich später als Bildschirmausgabe Beispielsweise part2 und part4 zusammensetze und das Ergebnis anzeigen kann (ohne 1 und 3 ).
Der Output soll circa so aussehen:
Bitte max. 15 Zeichen eingeben: 12345678 (Text, der eingegeben wird)
XY= 12345678
Part1= 12
part2= 34
part3=56
part4=78
XYneu= 3478
string zerlegen und in neuen variablen abspeichern
Wahrscheinlich ginge es noch knapper, aber nachfolgendes Beispiel funktioniert und nutzt noch vergleichsweise einfache Elemente:
Du müsstest mal schauen, was ich da nutze , nennt sich list comprehension.
Nachtrag: Ich habe den Quelltext angepasst und damit Redundanz reduziert.
Code: Alles auswählen
w = "1234567890X"
x = [w[i]+w[i + 1] for i in range(0, len(w) - 1, 2)]
if len(w) % 2 != 0:
x.append(w[-1])
print(x)
Nachtrag: Ich habe den Quelltext angepasst und damit Redundanz reduziert.
@pixewakb: den Sonderfall bekommst Du mit Slices weg:
besser als Indices ist aber `zip_longest`:
Etwas kryptischer, dafür für beliebige iterierbare Objekte `w`:
Code: Alles auswählen
x = [w[i:i+2] for i in range(0, len(w), 2)]
Code: Alles auswählen
from itertools import zip_longest
x = [a+b for a,b in zip_longest(w[::2], w[1::2], fillvalue='')]
Code: Alles auswählen
x = list(map(''.join, zip_longest(*[iter(w)] * 2, fillvalue='')))