Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
class WORD(object):
def __init__ (self,word):
self.word = word
def new_word():
word = "hallo"
return word
def eingabe():
eingabe = raw_input("Bitte geben sie einen Buchstaben ein: ")
print "Sie haben gewaehlt: " + eingabe
if len(eingabe) <2:
word = list(A.word)
for x in word:
if x==eingabe:
for x in word:
print "Eintrag gefunden!"
word.remove(x)
else:
print "Leider kein Eintrag gefunden!"
else:
print "Sie duerfen nur einen Buchstaben eingeben!"
print word
if __name__ == "__main__":
A=WORD(new_word())
eingabe()
Wenn ich h eingebe, löscht der aus "word" alle Einträge bis auf "a"und"l" warum?
Dein Code ist sehr seltsam. Du willst wissen, ob eine eingabe aus einem Zeichen besteht und schreibst ``if len(eingabe) <2``? ``if len(eingabe) != 1`` wäre klarer. Klassennamen schriebt man nicht All-Caps. Und das Problem mit dem Löschen kommt daher, weil du durch eine Liste iterierst und *gleichzeitig* aus dieser Liste löscht. Da kommt der Zähler durcheinander und produziert schwer vorhersehbaren Schwachsinn.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
class Word(object):
def __init__ (self, theword):
self.word = theword
def print_word(self):
print self.word
def del_something(self):
eingabe = raw_input("Bitte geben sie einen Buchstaben ein: ")
print "Sie haben gewaehlt: " + eingabe
if len(eingabe) == 1:
self.word = self.word.replace(eingabe, '')
else:
print "Sie duerfen nur einen Buchstaben eingeben!"
if __name__ == "__main__":
myword = Word('hallo')
myword.del_something()
myword.print_word()
Wie du nun unschwer erkennen kannst sind auch die Funktionen eingerückt und werden nun zu Methoden ( ich hoffe die Begriffe sind in Python auch so ). Abgesehen davon gehts nun auch