Schau doch mal in deine Zeile 5 und in meine Zeile 1 und schau ob du da einen Unterschied erkennst. Kleiner Tipp: Ersetze meine Zeile mit deiner Zeile.
EDIT: Okay, da stand definitiv was Anderes als ich gepostet habe. Finde ich schon ein wenig dreist.
Hilfe meine if statements funktionieren nicht
-
- User
- Beiträge: 17
- Registriert: Mittwoch 23. April 2014, 16:39
EDIT: Anmerkung: In deinem Code stand
Grüße,
anogayales[/quote]
ja für die Variable
Code: Alles auswählen
Eingabe = '3'
anogayales[/quote]
ja für die Variable
-
- User
- Beiträge: 17
- Registriert: Mittwoch 23. April 2014, 16:39
meinst du das so?
wenn ich Eingabe == zum code hinzufüge steht in der shell ich soll Eingabe definieren. Was meinst du? was soll wo hin?
Edit:Hab den anderen code von der Seite hiervor angeguckt in deiner zeile: == in meiner: = aber was ändert das?
Code: Alles auswählen
print '1: Tastatur und Maus'
print '2: USB Stick'
print '3: Drucker'
Eingabe == '3'
f1 = raw_input('Welche der unten aufgelistteten Dinge sind Ausgabegeräte?')
if f1 == "3":
print 'Genau'
else:
print 'Leider Falsch'
Edit:Hab den anderen code von der Seite hiervor angeguckt in deiner zeile: == in meiner: = aber was ändert das?
-
- User
- Beiträge: 17
- Registriert: Mittwoch 23. April 2014, 16:39
Das hier geht (Aber nur mit Zahlen)
wie kann ich denn 1 2 und 3 durch A) B) oder C) auswechseln.Dann bräuchte ich ja einen anderen input befehl z.B raw_input aber damit hat es ja noch nicht funktioniert...
Code: Alles auswählen
print 'Schreibe 1 2 oder 3'
print 'Was ist ne Software?'
print '1 ein Programm'
print '2 Nutella auf tost'
print '3 Tastatur Maus ...'
a = int(input())
if a == 1:
print 'Du hast recht'
else:
print 'Falsch'
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ersters ist ein Vergleich, zweiteres eine Zuweisung! Das ist ein erheblicher Unterschied.Littlejofel hat geschrieben: Edit:Hab den anderen code von der Seite hiervor angeguckt in deiner zeile: == in meiner: = aber was ändert das?
Wieso trennst Du nicht einfach mal von dem Programm und gibst in einer Shell einfach einzelne Anweisungen Schritt für Schritt an?
Gib doch einfach mal in einer Python-Shell (nimm am besten *nicht* Idle, sondern starte einfach nur die ganz normale Standard-Python-Shell!) folgendes ein:
Code: Alles auswählen
gesucht = "Ja"
eingegeben = "Ja"
gesucht == eingegeben
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 17
- Registriert: Mittwoch 23. April 2014, 16:39
@Hyperion
Die Shell schreibt True nachdem ich alles eingegeben habe
und wenn ich z.B statt
mache
steht in der shell ich soll 'eingeben' definieren.
Die Shell schreibt True nachdem ich alles eingegeben habe
und wenn ich z.B statt
Code: Alles auswählen
eingeben = '9'
Code: Alles auswählen
eingeben == '9'
steht in der shell ich soll 'eingeben' definieren.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Also arbeitet Dein Python-Shell wie erwartet richtg
Nun probiere doch mal, was passiert, wenn Du für ``eingeben`` das "Ja" in Hockommata setzt, also so:
(Beachte die kleinen ' um das "Ja"!)
Was denkst Du, sollte dabei rauskommen?
Nun probiere doch mal, was passiert, wenn Du für ``eingeben`` das "Ja" in Hockommata setzt, also so:
Code: Alles auswählen
eingeben = "'ja'"
Was denkst Du, sollte dabei rauskommen?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 17
- Registriert: Mittwoch 23. April 2014, 16:39
nun ich würde mal sagen ich muss 'ja' eingeben , doch das klappt nicht. Hier ist der Code nur etwas abgespeckt:Hyperion hat geschrieben:Was denkst Du, sollte dabei rauskommen?
Code: Alles auswählen
beginn = raw_input('willst du anfangen?')
eingeben = "'ja'"
if beginn == eingeben:
print 'Funktioniert'
else:
print 'Funktioniert nicht'
Funktioniert nicht
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Bei mir funktioniert dein Code:Aber vergleich mal:" 'ja'" ist offensichtlich nicht das gleiche wie "'ja'".
Code: Alles auswählen
>>> beginn = raw_input('willst du anfangen?')
willst du anfangen?'ja'
>>> eingeben = "'ja'"
>>> if beginn == eingeben:
... print 'Funktioniert'
... else:
... print 'Funktioniert nicht'
...
Funktioniert
Code: Alles auswählen
willst du anfangen? 'ja' # <-- deins
willst du anfangen?'ja' # <-- meins
In specifications, Murphy's Law supersedes Ohm's.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Die simple Anwtort wäre ``False`` gewesen!
Dies *vergleicht* ja eben den von den beiden Objekten die den Operator (``==``) umschließen. Zwei Strings sind eben nur gleich, wenn jeder einzelne Buchstabe an jeder einzelnen Stelle exakt dem an der selben Stelle im anderen String entspricht!
Ja ist also ungleich 'Ja'!
Und genau das solltest Du lernen, denn das ist Dir bei Deinem Ursprungsproblem auf die Füße gefallen!
Irgend wie habe ich allerdings das Gefühl, dass Du das immer noch nicht wirklich verstanden hast
Code: Alles auswählen
gesucht == eingegeben
Ja ist also ungleich 'Ja'!
Und genau das solltest Du lernen, denn das ist Dir bei Deinem Ursprungsproblem auf die Füße gefallen!
Irgend wie habe ich allerdings das Gefühl, dass Du das immer noch nicht wirklich verstanden hast
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 17
- Registriert: Mittwoch 23. April 2014, 16:39
Du hast recht xD damit kann ich nicht viel anfangen...Hyperion hat geschrieben:Irgend wie habe ich allerdings das Gefühl, dass Du das immer noch nicht wirklich verstanden hast
sagen wir einfach ich muss statt :willst du anfangen? 'ja'
willst du anfangen?'ja' schreiben
trotzdem vielen dank für die hilfe ^^
@Littlejofel: Dein Problem zeigt aber auf schöne Weise, in welche Probleme man kommt, wenn man vom Benutzer Eingaben in natürlicher Sprache verlangt, auch wenn es sich nur um ein »ja« handelt: Groß/Kleinschreibung, Leerzeichen, Satzzeichen, usw.
Das Beispiel mit den Anführungszeichen sollte Dir nur nochmal verdeutlichen, dass man Anführungszeichen im Programmcode braucht, um Strings zu kennzeichnen (denn die können ja Zeichen enthalten, die eine besondere Bedeutung für die Programmiersprache haben). Der Inhalt des Strings, der mit der Eingabe dann verglichen wird, enthält aber nicht die Anführungszeichen.
Das Beispiel mit den Anführungszeichen sollte Dir nur nochmal verdeutlichen, dass man Anführungszeichen im Programmcode braucht, um Strings zu kennzeichnen (denn die können ja Zeichen enthalten, die eine besondere Bedeutung für die Programmiersprache haben). Der Inhalt des Strings, der mit der Eingabe dann verglichen wird, enthält aber nicht die Anführungszeichen.