Vorweg : Ich bin neu im Thema Python und habe das in der Berufsschule. Entschuldige möchte ich mich ebenfalls sollte das ganze hier im falschen Thread sein :/
Ich habe eine Frage zum Thema auslesen einer ganzen Datei die ich in meinem Code mit einbeziehe. Das ist eine ehr erweitere Schulaufgabe, wo eig. nur angegeben werden sollte (Mit einer Vorgabe von 5 Elementen die die Alkalimetalle sind), ob es sich um ein Alkalimetall handelt oder eben nicht. Vom Grundkonzept her funktioniert mein Code auch und liest mir die Infos aus der TXT raus und gibt mir demnach auch alles wieder was ich möchte. Aber mein Problem besteht darin, dass ich es nicht schaffe dass wenn ich einen falschen Namen eingebe, dass er zurück zum Anfang geht und mich darauf hinweist, dass meine Eingabe falsch war.
Probiert habe ich:
Code: Alles auswählen
if W not in Elemente:
print("Element nicht vorhanden!")
print("Bitte gib einen gueltigen Namen an!")
abfrage()
else:
"""Code ab "if Daten[0]…""""
Hat jemand eine Lösung wie ich es schaffe, dass er mir die ***ganze*** Datei nach dem ersten String jeder Zeile durchsucht, mir dann entweder den Code unten ausführt oder mir dann eben sagt was ich oben versuchte.
Ich bedanke mich schonmal im voraus
###### Code ######
Code: Alles auswählen
Elemente = open('Periodensystem.txt', 'r')
def abfrage():
print("Ueber welches Element möchtest du etwas wissen?")
W = str(input("Element: "))
for line in Elemente:
Daten = line.rstrip().split(",")
if Daten[0].__contains__(W):
print("")
print("Name: " + Daten[0])
print("Kuerzel: " + Daten[1])
print("Ordnungszahl: " + Daten[2])
print("Gruppe: " + Daten[3])
print("")
abfrage()
Elemente.close()
abfrage()
###### TXT######
Wasserstoff,H,1,Gase
Helium,HE,2,Gase
Lithium,LI,3,Alkalimetalle
Beryllium,BE,4,Erdalkalimetalle