Seite 2 von 2

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 13:04
von phythonkid
Die version 3 meine ich!

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 13:10
von Jankie
Eben war es noch Version 2 was in meinem letzten Post Version 1 entspricht..

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 13:46
von phythonkid
Es sit Version 3!

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 14:08
von __blackjack__
Zählen? Modulo? Unsinn! Ich biete:

Code: Alles auswählen

from itertools import cycle
text = "ich nehme gerade in der schule das thema python durch und habe mich da etwas ausprobiert"
print("".join(f(c) for f, c in zip(cycle([str.lower, str.upper]), text)))

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 14:10
von phythonkid
Vielen dank. Das hat mir sehr geholfen!
:)

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 14:12
von Sirius3
@__backjack__: bis auf die doppelten statt einfachen Anführungszeichen, ist meine Lösung hier aufs Bit exakt gleich.

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 14:16
von phythonkid
Das stimmt, beide Lösungen haben mir geholfen! Vielen Dank

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 14:21
von Jankie
@pythonkid: Denk aber bitte daran, wenn du Lösungen aus dem Internet verwendest die Quelle anzugeben. Außerdem ist es sinnvoll nur Code abzugeben den man auch selber versteht, denn der Lehrer könnte auch nachfragen was genau der Codeschnipsel macht.

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 14:31
von phythonkid
Das werde ich tun ich habe diesen Code jedoch sehr gut verstanden!!

Re: Funktion mit jedem zweiten Buchstaben groß

Verfasst: Donnerstag 2. April 2020, 21:39
von snafu
__blackjack__ hat geschrieben: Donnerstag 2. April 2020, 14:08 Zählen? Modulo? Unsinn! Ich biete:

Code: Alles auswählen

from itertools import cycle
text = "ich nehme gerade in der schule das thema python durch und habe mich da etwas ausprobiert"
print("".join(f(c) for f, c in zip(cycle([str.lower, str.upper]), text)))
Oder wenn man nicht für jeden Buchstaben die lower() bzw upper() Methode aufrufen will:

Code: Alles auswählen

from itertools import chain

text = "ich nehme gerade in der schule das thema python durch und habe mich da etwas ausprobiert"
result = chain.from_iterable(zip(text[::2].lower(), text[1::2].upper()))
print("".join(result))
EDIT: Wobei /me hier bereits eine sehr ähnliche Lösung genannt hatte.