Ich habe letzte Woche angefangen mir selbst das Programmieren beizubringen und nach vielen Empfehlungen habe ich mir Python ausgesucht. Jetzt baue ich an einem kleinen Programm, dass Listen erstellt und sie in einer Textdatei ausgibt, es sieht wiefolgt aus:
Code: Alles auswählen
#!/usr/bin/python
print 'Hallo, wir erstellen jetzt eine Liste!'
liste = []
dazu = raw_input('Was moechten Sie hinzufuegen? ') # Das erste Objekt der Liste entgegennehmen
liste.append(dazu) # Hinzufuegen des ersten Objekts
print dazu, 'wurde in die Liste aufgenommen!'
nochmal = True
while nochmal: # Schleife, die weitere Objekte entgegen nimmt
mehr = raw_input('Moechten sie ein weiteres Objekt der Liste hinzufuegen? ')
if mehr == 'ja':
wasmehr = raw_input('Und was soll hinzugefuegt werden? ')
liste.append(wasmehr)
print wasmehr, 'wurde der Liste hinzugefuegt!'
print liste
else:
nochmal = False
else:
print 'Die Liste ist jetzt fertig, sie enthaelt', len(liste), 'Objekte!'
print liste
korrekt = raw_input('Ist die Liste korrekt? ') # Ueberpruefung der Liste mit Aufforderung zur Bestaetigung oder Ablehnung
if korrekt == 'nein':
mehrloeschen = True
while mehrloeschen: # Schleife um Objekte aus der Liste zu entfernen.
loeschen = raw_input('Welches Objekt moechten sie loeschen? ')
if loeschen == liste[0]:
del liste[0]
elif loeschen == liste[1]:
del liste[1]
elif loeschen == liste[2]:
del liste[2]
elif loeschen == liste[3]:
del liste[3]
print loeschen, 'wurde geloescht!'
print liste
schleife = raw_input('Moechten sie ein weiteres Objekt entfernen? ')
if schleife == 'nein':
mehrloeschen = False
print 'Gut, jetzt ist die Liste endgueltig fertig! Sie wird als Textdatei gespeichert!'
else:
print 'Gut, jetzt ist die Liste endgueltig fertig! Sie wird als Textdatei gespeichert!'
resstring = ", ".join(liste) # Umwandlung der Liste in einen String zur Ausgabe in einer Datei
f = file('Liste.txt', 'w') # Ausgabe der Liste in eine Textdatei
f.write(resstring)
f.close()
Genauer geht es mir um folgende Zeilen:
Code: Alles auswählen
while mehrloeschen: # Schleife um Objekte aus der Liste zu entfernen.
loeschen = raw_input('Welches Objekt moechten sie loeschen? ')
if loeschen == liste[0]:
del liste[0]
elif loeschen == liste[1]:
del liste[1]
elif loeschen == liste[2]:
del liste[2]
elif loeschen == liste[3]:
del liste[3]
print loeschen, 'wurde geloescht!'
print liste
Die Frage ist, ob es dafür einen einfacheren Code gibt. Ich habe schon folgendes ausprobiert:
Code: Alles auswählen
liste = ['Affe', 'Wiesel']
loeschen = raw_input('Welches Objekt moechten sie loeschen?')
for loeschen in liste:
del liste[loeschen]
Code: Alles auswählen
Traceback (most recent call last):
File "testi.py", line 6, in ?
del liste[loeschen]
TypeError: list indices must be integers
Danke im Vorraus
Sagi