[Python] kleine Frage

01/08/2013 14:10 GamedGames#1
Ich habe angefangen mit Python, wenn ich mir jetzt aus Test Gründen eine Passwort abfrage erstelle (If/Else) funktioniert diese aber nur wenn:


Wenn ich nach if pw == die "" weg mache funktioniert es nicht mehr, könnte mir das einer Erklären (wenn es möglich ist genauer :P).
Will halt nicht nur das so und so machen, sondern die Sachen wirklich verstehen.
01/08/2013 14:16 boxxiebabee#2
Die Variable pw wird wohl ein String sein, demnach musst du das zu überprüfende Passwort auch in einen String packen, in diesem Fall halt mit "", ansonsten vergleichst du einen String mit nem Integer.
01/08/2013 14:19 GamedGames#3
Also erstellt input() einen String?
Scheint mir dann alles logisch :D

Edit: Hab grade mal mit help(input) dort steht auch das ein String erstellt wird.
Somit hat sich alles geklärt, danke :)

Edit²: Habs grad mal durch ein bissl suchen das ganze als integer erstellen lassen, jetzt brauch ich keine "" danke :) (bring mir zwar so nichts, aber ich habs endlich genaustens mit dem Integer, String verstanden :D)
01/08/2013 14:27 boxxiebabee#4
Quote:
Originally Posted by GamedGames View Post
Also erstellt input() einen String?
Scheint mir dann alles logisch :D

Edit: Hab grade mal mit help(input) dort steht auch das ein String erstellt wird.
Somit hat sich alles geklärt, danke :)

Edit²: Habs grad mal durch ein bissl suchen das ganze als integer erstellen lassen, jetzt brauch ich keine "" danke :) (bring mir zwar so nichts, aber ich habs endlich genaustens mit dem Integer, String verstanden :D)
Wenn du's wirklich zu einem Integer casten willst, solltest du vorher noch überprüfen obs wirklich einer ist. Ansonsten wirst Fehlermeldungen bekommen ;)
01/08/2013 14:35 GamedGames#5
Ich verstehe deine Aussage nicht wirklich :/ könntest evtl. nochmal erläutern.
Ich hab halt anstatt pw = input(), pw = int(input()) geschrieben und dann die beiden "" weggelassen, es hat funktioniert und die IDLE meckert auch nicht
01/08/2013 14:43 boxxiebabee#6
Gib mal statt Zahlen auch Buchstaben ein, und schau was passiert.. ^^
01/08/2013 14:46 GamedGames#7
Jo, da meckert die IDLE.
Ich dachte Integer ist für Zahlen vorgesehen? O_o
01/08/2013 14:58 boxxiebabee#8
Quote:
Originally Posted by GamedGames View Post
Jo, da meckert die IDLE.
Ich dachte Integer ist für Zahlen vorgesehen? O_o
Ja, Integer ist nur für Zahlen. Wenn der User nun aber z.B. auch / oder Buchstaben eingibt und du das dann versuchst zu Konvertieren, wird das Programm nen Fehler ausspucken. Man sollte immer davon ausgehen das der User scheiße baut ;)
01/08/2013 15:03 GamedGames#9
achso und ich dachte schon ich hätte wieder irgendwas falsch verstanden :D, ja ich wollte erstmal das ganze unkomplex und einfach machen und dannach das ganze komplexer gestalten.
Wie kann ich denn überprüfen ob es ein integer ist? (Welcher Befehl wird dafür vorgesehen)
01/08/2013 15:07 boxxiebabee#10
Hab noch nie was in Python gemacht, daher weiß ich den Befehl dafür nicht. Musst mal googlen ;)
01/08/2013 15:15 GamedGames#11
Ok, aber trotzdem danke für die ganze Hilfe :)
01/08/2013 22:47 schnudergof#12
Code:
print("Gib pw ein")

#Versuche die Eingabe in einen Int umzwuwandeln
try:
    pw=int(input())
    if pw == 9999:
        print("Das Passwort ist richtig")
    else:
        print("Das Passwort ist falsch")



#Wenn das nicht klappt mach dies
except:
    print("Eingabe war keine zahl")