Seite 1 von 1

Frage zu sequence

Verfasst: Mittwoch 20. Mai 2020, 09:12
von ppp
Hallo,
ich will eine Challenge lösen. Es gibt eine Funktion:

Code: Alles auswählen

def myfoo(sequence: str):
Laut Aufgabenbeschreibung ist str ein String. Leider kann ich mit str nichts anfangen:

Code: Alles auswählen

print(type(str))
Ergebnis: <class 'type'>

Code: Alles auswählen

print(len(str))
Ergebnis: TypeError: object of type 'type' has no len()

Ich kann mit str nicht viel anfangen.
Kann mir jemand einen Tip geben, wie ich mit str arbeiten kann?

Re: Frage zu sequence

Verfasst: Mittwoch 20. Mai 2020, 09:22
von Sirius3
Du hast eine `squence`. Warum das ein String sein soll, ist verwirrend, weil man unter einer Sequenz normalerweise etwas anderes (allgemeineres) versteht.

Re: Frage zu sequence

Verfasst: Mittwoch 20. Mai 2020, 11:06
von DeaD_EyE
Strings sind auch Sequenzen.

https://docs.python.org/3/library/stdty ... quence#str

Code: Alles auswählen

>>> isinstance("Hello", typing.Sequence)
True
Die Funktionsdefinition

Code: Alles auswählen

def myfoo(sequence: str):
erwartet ein Argument, dass ein str sein sollte. Es handelt sich um Type Annotations.

Für Anfänger reicht das hier:

Code: Alles auswählen

def myfoo(sequence):
Innerhalb der Funktion arbeitet man dann mit dem Namen sequence, das laut Vorgabe ein str, also Text sein soll.

Re: Frage zu sequence

Verfasst: Mittwoch 20. Mai 2020, 11:20
von ppp
OK. Danke. Konnte die Challenge lösen.