IDLE Python für Anfänger

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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!")
EvilGirl 
Fragesteller
 04.03.2012, 19:33

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?"

0
m1s73r  04.03.2012, 21:21
@EvilGirl

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 ;)

0
EvilGirl 
Fragesteller
 05.03.2012, 20:42
@m1s73r

Vielen Dank für deine Hilfe. Ich werde noch ein bisschen herumprobieren und üben. Falls ich noch weitere Fragen habe dürfte ich mich per Nachricht bei dir melden? Das wäre großartig. Woher kannst du das alles so gut?

0
m1s73r  05.03.2012, 21:06
@EvilGirl

Jaja klar geht in Ordnung und immer fleißig üben ;) Den Großteil hab ich mir selbst beigebracht, Python lerne ich jetzt aber nochmal in der Schule. Doppelt hält besser...

0
m1s73r  05.03.2012, 21:11
@m1s73r

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.

0
EvilGirl 
Fragesteller
 11.03.2012, 15:07
@m1s73r

Oh gott. Das klingt ja sehr kompliziert. In welche Klassenstufe gehst du denn?

Ich hatte mir das Websitencodieren selbst beigebracht und dann hatte ich es mal in der Schule und hab die Lehrerassistentin gespielt :P

0

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/

Bluekobalt  29.02.2012, 20:45

Never seen again...

0
EvilGirl 
Fragesteller
 04.03.2012, 19:28
@Bluekobalt

Never seen again??? Was soll das denn heißen? Wie wie bekommt man so ein braunes Kästchen hin?

0
m1s73r  04.03.2012, 21:22
@EvilGirl

Braunes Kästchen bekommt man hin indem man beim Kommentar/Beitrag schreiben oben bei der Leiste direkt über deinem Text das 5 Icon von links klickt das mit der Schriftrolle und den < >

0

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

xNeco  14.08.2015, 01:08

Entschuldigung, hab das mit der Kommentierfunktion nicht gerafft ,werde es gleich nochmal besser senden.

0