Zum Inhalt

Zeichenkette

Zeichenketten sind uns schon ein paar Male begegnet. Zeichenketten benötigen wir um einzelne oder mehrere Buchstaben zu speichern. Z.B. um die Stiftfarbe der Schildkröte zu setzen: setPenColor("red"). "red" ist dabei die Zeichenkette. Man nenn die so, weil solche Wörter/Texte im Rechner als eine Folge von einzelnen Zeichen abgespeichert werden, technisch gesehen sind sie fast wie ein Array, das die einzelnen Zeichen als Elemente beinhaltet, darum eine Verkettung von Zeichen.

In Python hat eine Zeichenkette den (Daten-)typ str.

Beispiel Operationen mit Zeichenketten

Wie bei einem Array, können wir über die eckigen Klammern [ ] auf ein einzelnes Zeichen zugreifen.

Mit der len() Funktion erhalten wir die Länge einer Zeichenkette.

Mit dem Additions-Operator + können wir zwei Zeichenketten aneinander hängen.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

Aufgaben 1

Letzter Buchstabe

Question

Schreibe eine Funktion mit dem Namen letzterBuchstabe, welche eine Zeichenkette als Parameter erhält und als Rückgabewert immer den letzten Buchstabe davon zurückgibt.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.
Verbleibende Versuche : 5/5

.128013 c2zL(okgföe=)ihy/aputBndm:-s[r1]lbv050z0m0w0t0p0I0D0b0c0I0t0D0D0n010w0p0u010406050D0v0A0A0t0F0r040f0l0,0y0j050s0,0.0:0=0*0u0405130|160s130*0z0p0K0T0V0X0Z0q0p0j0q0I1k0q0w0(050O0J0I0m1f0W0Y011j1l1n1l0w1t1v1r0w0F140w0q0T0h0R0u0t0y0Z0d011x1h010k0Q0m0y0t0A0m1r0D1R0y1X1z1!1v1%1)0(0a0b0@0_0j0D0K0h0F0D0c1m0t0{0}1-140s1M291J1L1K1s0z1/0Z1n0y1$0h0D1r1c1e0U1y2j0p2l0y0h2q1r0u0F0m141,1S292F0y2E1-2i012x0F0/0I0(0G0|2I0)0+2L2s1Y2O2Q0(0d2U28172C292q2c0z1L2h2Z1z0c2y1*142.152,2X2G2)302^0M2K1S2M0i0(0M0k312J0b2 1.2?0Z0y0k0(1v0w0e0w0m0F0x0v230D1t0m3c353g1g1z0%040g3y3f2M0y0(0e0i3G2I2M3D0o0B3y060b3V3e3O3h0138042C0w0v0F0y3y3X2Y3B3i3K3M27303Y3/013D0E3N3.2t2N0J3l1$3}363Z3D3F3?2J3H3Z3J043L443A3 3Q3,4b3_0h0(0C4g2M0A0p2S4q460(0H3T0|332D2+4C0s2|2a2:0|2d4J0t1u4E2.0*4F0N0P0R04.

Buchstabe suchen

Question

Schreibe eine Funktion mit dem Namen sucheBuchstabe welche das Vorhandensein von einem einzelnen Zeichen in einer Zeichenkette überprüft, oder in anderen Worten: finde heraus, ob z.B. ein Buchstabe in einem Text vorkommt.

Erstelle dazu eine Funktion mit zwei Parametern:

  • text die Zeichenkette, in der wir suchen
  • b der zu suchende Buchstabe (auch eine Zeichenkette)

Wenn b in text enthalten ist, dann soll True zurückgegeben werden, andernfalls False. Dies sind sogenannte Boolsche Variablen, welche für Wahr und Falsch stehen.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.
Verbleibende Versuche : 5/5

.128013 TFc2L(o4xkgfö3e=)i65hy/aputBndwm:slr1,bv050F0q0C0z0t0K0J0b0e0K0z0J0J0r010C0t0A010406050J0B0H0H0z0L0x040g0o0;0E0m050y0;0?0^0`0/0A040518111b0y180/0F0t0P0Y0!0$0(0w0t0m0w0K1p0w0C0-050T0O0K0q1k0#0%011o1q1s1q0C1y1A1w0C0L190C0w0Y0i0W0A0z0E0(0f011C1m010n0V0q0E0z0H0q1w0J1W0E1$1E1)1A1,1.0-0a0b0|0~0m0J0P0i0L0J0e1r0z10121=190y1R2e1O1Q1P1x0F1@0(1s0E1+0i0J1w1h1j0Z1D2o0t2q0E0i2v1w0A0L0q191;1X2e2K0E2J1=2n012C0L0@0K0-0M112N0.0:2Q2x1%2T2V0-0f2Z2d0/2N2R2*0z2W040p2.2L2:2%1l1E2?2^0j2{2O2}1X2=252+040v342#2;2(30392@0-0u3d1c2H2e2v2h0F1Q2m3g0(0e2D1/193q1a3o2$2L3m3x0R2P373v010l0-0R0n3d0b3E1?3L0E0n0-0;280q0D0B280J1y0q3m3f2 0(0,040h3,2~2y2S0-0C0q0k0C3?3K3.013:0N3R3T2=0-0O3 3U413:0s0I3d060b4i3S3-3^3N040n25454l2)0-0e4r3@1%0i0G0-2A4w403^0E3`3|3~2c3F4s1E3:4f4K354j4S4k4x1E4n0t3Q4Q044U4E4t044v4!4$4b3^0i0-0r0r4D4-4(494!463L4O4g4T4 4,2R4n2H0C0B0L0E4?520e0-0c0L0B3+4!064h4j4{41530S56584+5l4m5b040d2@0J5g2!0/0y3H2I3n5E0y3B2f3s112i5L0z1z5G3q5B0R0T0V0J04.

Vokale zählen

Question

Schreibe eine Funktion mit dem Namen zähleVokale mit einem Parameter text. Die Funktion soll zählen, wie viele Vokale in text vorhanden sind.

Erstelle dazu eine Funktion mit einem Parameter:

  • text die Zeichenkette, in der wir die Vokale suchen

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.
Verbleibende Versuche : 5/5

.128013 c2zL(o4xkgfö3e=)i67äV85hy/9;aputnd0m:w+slr1qbv050J0p0H0E0s0Q0P0b0c0Q0E0P0P0q010H0s0F010406050P0G0L0L0E0R0A040f0n0`0I0l050B0`0|0~100^0F04051e171h0B1e0^0J0s0V0(0*0,0.0z0s0l0z0Q1v0z0H0?050Z0U0Q0p1q0+0-011u1w1y1w0H1E1G1C0H0R1f0H0z0(0h0$0F0E0I0.0d011I1s010m0#0p0I0E0L0p1C0P1$0I1,1K1/1G1=1@0?0a0b12140l0P0V0h0R0P0c1x0E16181{1f0B1X2k1U1W1V1D0J1}0.1y0I1;0h0P1C1n1p0)1J2u0s2w0I0h2B1C0F0R0p1f1`1%2k2Q0I2P1{2t012I0R0}0Q0?0b0S172T0@0_2W2D1-2Z2#2%0d2*2j0^2T2X2;0E2$040b0o2^2R2`2.1r1K2}2 0b0i332U351%2|2b2=300y3d2,2{2/383i2~2%0t3m3f1|3p0.392%0u3v2-3g3y2Y3r3a0x3D3o373z3I2%0C3L362E3H2!3s040S0K3S3F3N3V3j0S2)2i343E3x3%3A3Y2@3,3e3.3h3W2 0S323@3n3T2:3P3Y3c3 3w3`3)3l463_3G3;0S3u3 1i2N2k2B2n0J1W2s3G0c2J1^1f4l1g4j3.2S2j054r0X2V3$3U0k0?0X0m3m0b4c3:0m0?0e0v1x0p0w0h0k2~0p3m4N3U0=040g4!3M3U0I0?0H0p0j0H4*411K4%0r0M3v060b4~4M4+2:0?1%0e0E1x4L4#1-0h0?0q58511K0L0s0?3!464 504@0.4H040m2b5e5o2Y0?0U5u4F5a0N0?2G5z3/4,4.4:4=4h5f0.4%4{5l5m4 591K5q0s4K3 5n5A385x5F2X5b040q5d5Y5T0.0P1*04020T0G0h0H0D0E5?5^5`4?5!5N0?5P2+4}5R675.5w0454560Q5%3G5)0O5,2+5Z5G1-5h0?3+65674~695V5X6k694-045y5-5M015)5+6f3%5:0?5}5_0D0p6L5 5L5v5O3v6s5R6y530I55576C5v6h6j2j6l2X6o3Y6U6s6u5D6w6*6X6A6H3U6F6)2R6+3G6J5=5@6M0s6P0D606m4^636/6V6t6D6z6c6#6x6D6(6`6n5i6.5Q686D6v7m5#6_6$616E5c6}2U6 6I5;760h76782X6T7q7d6^7h6e7x790.7l7R6,7o6q2_6V6;045W7u3z5$7V6g7A7(0171760G7I6R7y7L6r7d7e5v7g6Z6d7.7U7j5v6-7Y34667|7y5q2N0H0G0R0I7.7~6!7Q65174C2O4i8o0B4v2l4n172o8v0E1F8q4l0^8r0Y0!0$04.

Weitere Aufgaben

Buchstaben Position suchen

Question

Schreibe eine Funktion mit dem Namen sucheBuchstabePosition welche das Vorhandensein von einem einzelnen Zeichen in einer Zeichenkette überprüft und die Position von diesem Buchstaben zurückgibt.

Erstelle dazu eine Funktion mit zwei Parametern:

  • text die Zeichenkette, in der wir suchen

  • b der zu suchende Buchstabe (auch eine Zeichenkette)

Wenn b in text enthalten ist, dann soll die Position vom ersten Auftreten in der Zeichenkette zurückgegeben werden, andernfalls \(-1\).

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.
Verbleibende Versuche : 5/5

.128013 c2L(o4xkgfö3e=)iP675hy/aputBndwm:-sl[r1],bv050F0o0C0z0r0L0K0b0c0L0z0K0K0p010C0r0A010406050K0B0H0H0z0N0x040e0m0@0E0k050y0@0_0{0}0=0A04051b141e0y1b0=0F0r0S0#0%0)0+0w0r0k0w0L1s0w0C0:050W0R0L0o1n0(0*011r1t1v1t0C1B1D1z0C0N1c0C0w0#0g0Z0A0z0E0+0d011F1p010l0Y0o0E0z0H0o1z0K1Z0E1)1H1,1D1/1;0:0a0b0 110k0K0S0g0N0K0c1u0z13151^1c0y1U2h1R1T1S1A0F1`0+1v0E1.0g0K1z1k1m0$1G2r0r2t0E0g2y1z0A0N0o1c1@1!2h2N0E2M1^2q012F0N0`0L0:0O142Q0;0?2T2A1*2W2Y0:0d2$2g0=2Q2U2-0z2Z040n2;2O2?2*1o1H2_2{0h2~2R301!2^282.040v372(2@2+333c2`0:0t3g391_3j0+340:0u3g1f2K2h2y2k0F1T2p3s010c2G1=1c3B1d3z2)2O3x3I0U2S3a3G0j0:0U0l3g0b3P3r323t0l0:0@2b0o0D0B2b0K1B0o0s2v0r0-0g0E3x3i3)010/040f3 312B2V0:0C0o0i0C463V41430Q3#3%2^0:0R4f3(48430q0I3p060b4x3$40483X040l284k4A2,0:0r4G471*0g0G4J3~2f2O4z4M330R0:0N1!0k0o4p2U43454S2R4l3G0E4X041}4%3G4)4?410E4a4c4e4+3U4q1*4s4t3p4y564U4g4B4J3!4 5851334|4d4_4r0:0M5j4I044K4 4-4h0:0P4L594N0:0p0p5w5f3t4n5n1H434u4 4w575M5s5a042K0C0B0N4R2%5e4m5p4v565O1*4C5R5T5V2g5X3G0g0:0J5G0+0H0r2!3p143S2L3y5}0y3M2i3D142l640z1C5 3B0=600V0X0Z04.

Wort suchen *

Question

*Anspruchsvoll

Schreibe eine Funktion welche das Vorhandensein einer Zeichenkette in einer anderen überprüft, oder in anderen Worten: finde heraus, ob z.B. ein Wort in einem Text vorkommt.

Erstelle dazu eine Funktion mit zwei Parametern:

  • text die Zeichenkette, in der wir suchen

  • s das zu suchende Wort (auch eine Zeichenkette)

Wenn s in text enthalten ist, dann soll True zurückgegeben werden, andernfalls False.

  • Die Funktion hat ein Parameter vom Typ Array

  • Hinweis: Verwende nicht das Schlüsselwort in, wir wollen die Funktionalität von in nachbauen.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.
Verbleibende Versuche : 5/5

.128013S TjIFc2L(o4xkgfö3e=)i67ä85hyW/9aputnd0m:w-+sl[r1],b!v050M0t0K0H0w0U0T0c0h0U0H0T0T0u010K0w0I010406050T0J0O0O0H0W0D040j0r110L0p050F111315170 0I04051l1e1o0F1l0 0M0w0$0/0;0?0^0C0w0p0C0U1C0C0K0}050*0!0U0t1x0=0@011B1D1F1D0K1L1N1J0K0W1m0K0C0/0l0-0I0H0L0^0i011P1z010q0,0t0L0H0O0t1J0T1-0L1?1R1_1N1|1~0}0a0c191b0p0T0$0l0W0T0h1E0H1d1f221m0F1(2r1#1%1$1K0M240^1F0L1{0l0T1J1u1w0:1Q2B0w2D0L0l2I1J0I0W0t1m211.2r2X0L2W222A012P0W140U0}0c0X1e2!0~102%2K1@2*2,2.0i2;2q0 2!2(2{0H2-040c0s2 2Y312^1y1R34360c0m3a2#3c1.332i2|370B3k2?322_3f3p352.0x3t3m233w0^3g2.0y3C2@3n3F2)3y3h0A3K3v3e3G3P2.0G3S3d2L3O2+3z040X0N3Z3M3U3$3q0X2:2p3b3L3E3.3H3)2~3?3l3^3o3%360X393~3u3!2`3W3)3j463D413:3s4d403N3{0X3B4i3T3#4l3J4o483x420}0X3R4t3-4q4a0X3Y461p2U2r2I2u0M1%2z3N0h2Q1 1m4K1n4I3^2Z2q054Q0(2$4B1@0o0}0(0q3t0c4j3`0q0}112l0t0E2i0K3t4:3#0|040k4}4p2`0}0K0t0n4|4G541R500Z4.4~55040T534u0^500v0P3C0c5s4/5c3G0}0U0z1c0t0d585a2=5u5m010l0}0u5g5v2)0!5x1{5l4(5d0}525b5H0L565D5S3_4 0}0v5r5t5h3f5x5z0p0t0b0J4^5M5H5J045L465G5T3G5P04275$2(505W2=5-5w5j653N5o3C065t5 5%4)0}0q2i5_602)0}0w6p6k1R0l0Q6s0L6u33620W1.5;6d3.676H4q5/5A5C596B3N5{0R6Q3`6M5;5?5^5~6a5I0}0S6U3#0O0w4x6K1@5o5q4d6h6i5,5N5Z045;0q0J0L0(6A6!5N5{5}5F6#0o0h0}0d0W0J0t5+6@6j2(4*046n0W6)5i0e7n6w6y042N7q610}6E5A6.5U517A6b5y5A6Y0C7e5X6q6:7f7g6^5Y0}0!5@0C0T1L0t0f0L7H7J76735K7v6r6c7K6v5n0}0V7D7*7p7,660}0Y7N7O7h4k7R7T7V0H0!7X0L6O5E2q7}3.747)6`576P7@6e7/7;6`6t725`6%8c0}7?695N507`6=7|6i776s4-8m6q6`7S2l81837Y867)5{0#75886#8E807W7Y7!7;506;2=6?8x6@8Q0}6|6~708L7(8C7-01780}0g350T7#308!8$5N7j0w8B7$7Q6{0t6}6 5R8g6I0}8Y308#5s8z042U0K0J0W71916q8;047b7d6g8{9f9h9j9l8P8}79048?0-8_3@0F4#2V4H9I0F4U2s4M1e2v9P821N4J1v2?9L0)0+0-04.

Zeichenketten formatieren

Beispiel Zeichenketten formatieren

Zeichenketten können aus mehreren anderen Zeichenketten zusammengesetzt werden. Zahlen können auch an Zeichenketten gehängt werden, wenn sie zuvor in eine Zeichenkette umgewandelt werden.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.