mein Problem ist folgendes:
Ich habe 2 Listen. Aus der einen will ich mit append der anderen ein Element übergeben. Also so:
Code: Alles auswählen
liste1 = ['1', '2', '3', '4']
liste2 = []
liste2.append(liste1[irgendeine Zahl])
Code: Alles auswählen
liste1 = ['1', '2', '3', '4']
liste2 = []
liste2.append(liste1[irgendeine Zahl])
Code: Alles auswählen
from string import ascii_uppercase #importiert eine Liste mit allen ascii-Großbuchstaben
from string import ascii_lowercase #importiert eine Liste mit allen ascii-Kleinbuchstaben
passwort = raw_input('Passwort eingeben: ') #verlangt nach dem Passwort
wie_oft = len(passwort)#uebergibt einer Variable die Anzahl der Passwortzeichen
element = 0 #uebergibt einer Variable den Wert 0
buchstaben = [] #erstellt eine leere Liste fuer die Buchstaben
zahlen = [] #erstellt eine leere liste fuer die Zahlen
for i in range(wie_oft): #erzeugt eine Schleife bis alle Element von Passwort eingeordnet wurden
if passwort[element] == int: #prueft ob passwort[element] eine Ganzzahl ist
zahl = passwort[element]
zahlen.append(zahl) #fuegt passwort[element] der Liste "zahlen" hinzu
elif passwort[element] == str:#prueft ob passwort[element] ein String ist
buchstabe = passwort[element]
buchstaben.append(buchstabe) #fuegt passwort[element] der Liste "buchstaben" hinzu
element = element + 1 #erhoeht den Wert von "element" um 1
Eigenartige Definition von "läuft".abgdf hat geschrieben:der Code läuft bei mir
Code: Alles auswählen
>>> if "3" == int:
... print "3 ist eine Zahl"
... else:
... print "3 ist keine Zahl"
...
3 ist keine Zahl
schaden kanns auch nichtabgdf hat geschrieben:Hallo,
der Code läuft bei mir, oder muß ich ein bestimmtes Passwort eingeben ?
Man kann es mit Kommentierungen ja auch übertreiben ...
Gruß
Quatsch. Ein ``raw_input`` verhält sich nicht wie eine Liste sondern wie eine Funktion. Und diese kann man Aufrufen und gibt einen String zurück. Dieser ist Iterable, wie eine Liste.Imperator hat geschrieben:@Leonidas: Ein raw_input verhält sich genauso wie eine Liste. habe ich heute auch erst gelernt. Aber es ändert eh nichts, da ich es vorher in eine Liste umgewandelt habe, und da hat es auch nicht funktioniert.
Code: Alles auswählen
buchstaben, zahlen = list(), list()
password = raw_input('Passwort eingeben: ')
for character in password:
try:
zahlen.append(int(character))
except ValueError:
buchstaben.append(character)
print buchstaben, zahlen
Natürlich können zu viele Komemntare schaden. Zum Ainen müssen die Kommentare aktuell gehalten werden - nichts ist schlimmer als wenn sich Code und Comment widersprechen - und zum Anderen ist diese Masse an Kommentaren ungalublich ablenkend.Imperator hat geschrieben: schaden kanns auch nicht
Vor allem auch diese hässlichen Inline-Kommentare, die eine Zeile mit Leichtigkeit über 80 Zeichen Länge hinausbefördern.cofi hat geschrieben:Natürlich können zu viele Komemntare schaden.Imperator hat geschrieben: schaden kanns auch nicht
Was hat das mit Listen zu tun? So wie Du das machst, prüfst Du einfach nicht auf den Typen StringImperator hat geschrieben: @Leonidas: Ein raw_input verhält sich genauso wie eine Liste. habe ich heute auch erst gelernt. Aber es ändert eh nichts, da ich es vorher in eine Liste umgewandelt habe, und da hat es auch nicht funktioniert.
Code: Alles auswählen
def main():
characters = list()
digits = list()
password = raw_input('Please enter password: ')
for character in password:
(digits if character.isdigit() else characters).append(character)
print characters, digits
probier mal folgendes in der shell aus:Leonidas hat geschrieben:Quatsch. Ein ``raw_input`` verhält sich nicht wie eine Liste sondern wie eine Funktion. Und diese kann man Aufrufen und gibt einen String zurück. Dieser ist Iterable, wie eine Liste.Imperator hat geschrieben:@Leonidas: Ein raw_input verhält sich genauso wie eine Liste. habe ich heute auch erst gelernt. Aber es ändert eh nichts, da ich es vorher in eine Liste umgewandelt habe, und da hat es auch nicht funktioniert.
Echt, das habe ich ja noch gar nicht gewusst!Imperator hat geschrieben:probier mal folgendes in der shell aus:
>>> eingabe = raw_input(' ')
sdhshfo
>>> print eingabe[0]
s
>>>
Das verstehe ich jetzt so, dass du Code schreibst, von dem dir "klar ist", dass und warum er nicht funktioniert, dir das aber egal ist, weil es dir nur darum geht, dass ein Teil des Codes funktioniert. Entweder ist das ein neuer pädagogischer Ansatz für ein Selbstlernprogramm oder dir ist eben nicht klar, was hier warum nicht funktioniert.Imperator hat geschrieben:@Numerix: Ist schon klar, aber fürs erste wäre es schonmal schön, wenn diese "pseudo zahlen" dann halt auch zu buchstaben hinzugefügt würden.