IDLE Python für Anfänger
Hallo. Also ich wollte mal mit Python programmieren,doch leider kenne ich mich beim Programmieren null aus. Zuerst dachte ich, es wäre so ähnlich,wie eine Website zu codieren, ist anscheinend aber etwas komplexer.
Könnte mir jemand bei den Anfangsschritten helfen? Zum Beispiel will ich eine Art Passwort abfrage starten. Wenn jemand nicht das Wort eintippt, das ich haben will, soll da eben "Falsches Passwort" stehen. Wenn doch eben "Willkommen".
Leider verstehe ich den Unterschied zwischen print und rawinput noch gar nicht. Dieses print wäre dann dieses "Willkommen",dass dann erscheinen soll. Und das rawinput, wenn eine eingabe erfordert ist,ja?
Und wäre es dann zum Beispiel:
Password:reisekoffer raw_input"Dein Passwort bitt:" if eingabe=password: print "Willkommen" else: "Falsches Passwort"
Und wie kann man es einstellen,dass man dies als Schleife macht, falls das Passwort falsch ist? Wie kann man diese Schleife auf nur 3 Versuche reduzieren?
Ich hoffe, es findet sich jemand da draußen, der mir beim Verstehen vom Programmieren, helfen kann.
Vielen Dank im Voraus!!
3 Antworten
Also Python programmieren ist GANZ anders als Webseiten zu "programmieren".
print = Ein Text wird auf dem Bildschirm ausgegeben
input = Ein Text wird vom Benutzer eingegeben damit der Computer damit arbeiten kann
Hier ist der von dem Progamm welches du programmieren willst:
richtigespasswort = "reisekoffer"
versuche = 3
while versuche != 0:
eingabe = input("Ihr Passwort bitte: ")
if eingabe == richtigespasswort:
print("Willkommen!")
break
else:
print("Falsches Passwort! Bitte nochmal versuchen!")
versuche -= 1
if versuche == 0:
print("Sie haben 3 mal ein falsches Passwort eingegeben!")
Also wenn du Sachen ohne Schleifen abfragst werden sie jedes mal nur 1 mal abgefragt.
Kommt darauf welche Python Version du benutzt aber raw_input wurde abgelöst. Bei etwas älteren Python Versionen konnte man beim normalen input Variablen eingeben. Das heißt du hast vorher eine Variable die passwort heißt und sagen wir mal ein Passwort: reisekoffer
Dann gibt dein Benutzer bei dem input "passwort" ein (also eigentlich die Variable und nicht das echte Passwort "reisekoffer") und der Computer behandelte es gleich als ob er reisekoffer eingegeben hätte. Sozusagen ein Austricksen bzw. Auslesen von Variablen.
Deswegen hat man dann rawinput erschaffen um dies zu verhindern. Wenn man beim rawinput "passwort" eingibt dann ist es auch genau "passwort" und eben nicht reisekoffer.
Achtung hier:
Dein raw_input muss vorher ein Wert zugewiesen werden wie du es bei vorname und nachname gemacht hast ansonsten versteht er das nicht. Und nein bei KEINER Programmiersprache ist das vordefiniert dass das obige eingabe ist.
d.h du müsstest eingabe = raw_input("Wie heißt du?") schreiben. Bei neueren Versionen von Python sind die Klammern verpflichtend.
Achtung auch beim if eingabe == vorname and eingabe == nachname, erstmal sind die Doppelten "=" notwendig weil du ja keine Variable definieren willst. Ausserdem kannst du das nicht mit 2 verschiedenen Werten vergleichen weil Python nur entweder Vor- oder Nachname auf einmal aufnehmen kann.
Bitte auch beim print Klammern setzen. Außerdem hast du in der letzten Zeile das print ganz vergessen...
Der richtige Code müsste lauten:
vorname = "max"
nachname = "mustermann"
eingabe1 = input("Vorname: ")
eingabe2 = input("Nachname: ")
if eingabe1 == vorname and eingabe2 == nachname:
print("Willkommen")
else:
print("Wer bist du?")
Hoffe das hilft dir ;)
Achja, das was du hier gerade machst fällt mir auch nicht wirklich schwer, kompliziert wird es mit den Sachen die ich gerade so zum Test bekomme! Also arbeiten mit Listen, for Schleife usw...
War zum Bsp. mal ne Aufgabe wo man eine beliebige Anzahl von Zahlen in einer Liste hatte, und man von den Positiven Zahlen die jeweilige Differenz zusammenzählen musste und dasselbe mit den Neg. und das Ergebnis ausgeben.
Hallo, das ist erst einmal ein ganzer Koffer an Fragen...
Zunächst möchte ich von Dir wissen, welches Python Du benutzt, als IDE nehme ich den Pyscripter und verwende Python 3.2.2.
Allgemein: Print mach die Ausgabe und Input die Eingabe. rawinput kenne ich gar nicht. Normalerweise lautet der Befehl:
variable=input('bitte Passwort eingeben')
Die Passwortabfrage machst Du am besten mit einer While Schleife, Du musst dann einfach einen Zähler einbauen
Dieses Tutorial finde ich ganz gelungen .http://tutorial.pocoo.org/
Never seen again??? Was soll das denn heißen? Wie wie bekommt man so ein braunes Kästchen hin?
Ich selbst stand vor dem Problem, habe es allerdings nach 3 harten Stunden rausbekommen. Mein Programm ist etwas ausführlicher, auch mit einer Registration, wo sozusagen das Passwort und der login erst noch festgelegt werden.
print(
#Passwort Abfrageimport sys# Abfrageprint('Führen Sie dieses Programm zum ersten mal aus?')print('y/n')ausführung = input('')# Registrierung if ausführung == 'y': print() print() print('REGISTRATION') print() print() print('Geben Sie ihren Login ein: ') gesetzter_Login = input('Login: ') print() print('Ihr aktueller Login ist: ',gesetzter_Login) print() print('Bestätigen Sie ihr Passwort: ') gesetztes_Passwort1 = input('Passwort: ') print('Geben Sie ihr Passwort erneut ein: ') gesetztes_Passwort2 = input('Passwort: ') if gesetztes_Passwort1 == gesetztes_Passwort2: gesetztes_Passwort = gesetztes_Passwort1 and gesetztes_Passwort2 print() print('Ihr aktuelles Passwort ist:',gesetztes_Passwort) print() print()# Existierender Loginif ausführung == 'n': print('Dann muss ich sie leider enttäuschen,' ' denn dieses Programm benötigt zum merken der Passwörter' 'und der Logins eine Datenbank, welche noch nicht ' 'angelegt wurde bzw. auf ihrem Rechner nicht verfügbar ist.') sys.exit() print('Möchten Sie sich nun einloggen?')print('y/n')einlog = input()if einlog == 'y': #Login nutzer = input('Login: ') while nutzer != gesetzter_Login: print('Login stimmt nicht mit Nutzern überein.') nutzer = input('Login erneut eingeben: ') while nutzer == 'jonas': break passwort = input('Passwort: ') while passwort != gesetztes_Passwort: print('Passwort stimmt nicht mit Login überein.') passwort = input('Passwort erneut eingeben: ') while passwort == 'jonas': break break print() print() print('Anmeldung erfolgreich.') print('Herzlichwillkommen',nutzer)else: print('Vielen Dank für Ihr Registration!') sys.exit()
)Es kann gut sein, dass einige der Schritte, die ich gemacht habe, unnötig sind, aber ich bin eben auch noch nicht so tief in der materia drin ;)Viel spaß beim Programmieren
Entschuldigung, hab das mit der Kommentierfunktion nicht gerafft ,werde es gleich nochmal besser senden.
Vereinfachung zu meinem Verständnis: Wollte man Vor-und Nachnamen einzeln ohne Schleife abfragen,wäre es dann?
vorname="max"
nachmane="mustermann"
raw_input ("Wie heißt du?")#Wofür steht raw? und muss es immer in Klammern stehen?#
if eingabe =vorname and eingabe=nachname # ist es in python schon definiert, dass eingabe das obige ist?#
print "Willkommen"
else: "Wer bist du?"