Python Schwierigkeiten?
Kann mir jemand helfen oder die Lösung sagen kapier das nicht.
Schreibe ein Programm, das das erste Wort in einer Liste Namen findet, das mit D beginnt. Die Liste bekommst Du mit
from daten import Namen
Hinweis: Es gibt zwei Möglichkeiten:
- Du schreibst eine while-Schleife, die der Reihe nach die Namen anschaut, solange sie nicht mit D anfangen. Dazu verwendest Du einen Zähler, der bei 0 anfängt, und der Reihe nach alle Namen abfragt.
- Du schreibst eine for-Schleife, die alle Namen durchgeht und abbricht (mit
break
Danke im Voraus LG Maybeyoubeinthe
4 Antworten
Eine while-Schleife führt den den Code aus, solange die Bedingung "True" ist. Mit "while True" generierst du also eine Endlosschleife ^^
Du musst im Code-Block etwas einfügen, das die Bedingung von True zu False ändern kann. Folgendes gibt dir die Zahlen von 0 bis 2 aus, danach wird abgebrochen:
x = 0
while x < 3:
print(x)
x = x + 1
Auf ein bestimmtes Element in einer Liste kannst du mit deine_liste[index] zugreifen. Für strings klappt das auch. Achte darauf, dass die Nummerierung bei 0 beginnt.
meine_liste = ['Alpha', 'Bravo', 'Charlie']
print(meine_liste[1]) # <- 2. Element in der Liste = 'Bravo'
print(meine_liste[1][0]) # <- 1. Buchstaben des strings 'Bravo' = 'B'
Wie gestaltest du den Zugriff auf ein bestimmtes Element der Liste? (ob while oder for)
Wie stellst du fest, ob ein Wort mit "D" beginnt?
Wie gestaltest du den Schleifenabbruch?
Was passiert, wenn die Liste kein Wort enthält, das mit "D" beginnt?
Zu 1.:
while ist eine Art von Schleife, nicht eines Zugriffs auf ein Listenelement.
Innerhalb der Schleife musst du beim k-ten Schleifendurchlauf auf das k-te Element der Liste zugreifen. Wie machst du das?
Zu 2.: https://www.google.com/search?q=python+erster+buchstabe+eines+wortes&ie=utf-8&oe=utf-8
Zu 3.: Im Aufgabentext steht was von break. Schau in deiner Dokumentation nach, was das bedeutet. Und auch, ob man das in Verbindung mit while einsetzen kann.
Ein üblicher Weg ist aber auch eine Hilfsvariable:
fertig = False
while not fertig:
...
if ...
...
fertig = True
Zu 4: Ok, das ergibt in einem Kurs zum Lernen der Grundlagen Sinn.
Ich bin zwar kein Python-Profi, aber ich denke dein Problem liegt in Zeile 3. Sicher müsstest du das Wort so umwandeln bzw. den 1. Buchstaben von diesem Wort lesen und das dann zum Vergleich heranziehen.
und wo genau ist dein Problem?
Du hast ja schon Hinweise bekommen ...
Hast du einen Ansatz? Die Lösung wirst du hier (hoffentlich auch von den anderen) nicht direkt hinterhergeschmissen bekommen, ohne etwas selbst geliefert zu haben
from Daten Import Namen
while True:
N
print(Namen D{0})
Das ist er
okay, und was ist hierbei N und D{0}
- While true ist eine Endlosschleife - der Hinweis hat dir doch was von einem Zähler erzählt. Eine For-Schleife wäre jedoch vermutlich besser und einfacher
- informier dich, wie du überprüfen kannst, ob ein String mit einem "D" anfängt
- informier dich, wie du auf ein Listen-Element zugreifen kannst ...
Bin halt noch ein Anfänger
Das bedeutet jedoch nicht, dass du dich nicht informieren kannst. Das sind basics, die man ganz am Anfang lernt. Stattdessen bedeutet das, dass du dich umso mehr in die Doku einlesen solltest
1. Mit while
2.Weiß ich nicht deswegen brauche ich Hilfe
3.Kenne ich nicht
4.Es kommt immer eins vor