Seite 2 von 3
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 16:44
von Hyperion
Dir ist schon klar, dass das wieder ein sinnloser Full-Quote war?
Littlejofel hat geschrieben:
ich hab den Code schon gefühlte 10 minuten angeschaut und bin ihn durchgegangen , aber ich finde den fehler nicht

Ok, ich geb Dir einen Tipp:
Code: Alles auswählen
antwort = "Ja"
eingabe = "'Ja'"
antwort == eingabe
> False
print(antwort, eingabe)
> Ja 'Ja'
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 16:55
von Littlejofel
zu deiner Frage: Das war doch nur ein Quote , du musst doch wissen auf welche frage ich antworte (Ich mach jetzt einfach keine Quotes mehr sondern nur noch @Name...)
und ich weiß was du mit deinem tipp sagen willst aber es hilft mir nicht viel weiter.Ich habe ja geschrieben das ich 'Ja' und Ja probiert habe , ebend auch noch mehr.Aber egal was ich eingebe es kommt immer die Falsche antwort.Ich möchte keine Tipps mehr ich möchte nur wissen wie man ein fernünftiges if statement macht

langsam kriege ich das gefühl das programmieren nichts für mich ist , aber ich will es unbedingt lernen und es ist echt ein (Das könnt ihr euch denken) gefühl so ein simples if statement nicht hinzubekommen...
ich gucke schon seid 2 Tage nach Videos für mein Problem kann aber nichts finden das mir hilft
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:01
von BlackJack
@Littlejofel: Du kannst nicht alles probiert haben, denn dann hättest Du die richtige Kombination gefunden. Wobei es davon eigentlich nur vier Stück gibt, also auch nicht wirklich viele. Im Quelltext kannst Du ``Eingabe == 'Ja'`` und ``Eingabe == Ja`` schreiben, und eingeben jeweils Ja und 'Ja'. Das sind vier Kombinationen. Bei zweien gibt es eine Ausnahme weil der Name `Ja` nicht definiert ist, bei einer ”funktioniert es nicht” und eine ist richtig.
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:07
von Hyperion
Littlejofel hat geschrieben:zu deiner Frage: Das war doch nur ein Quote , du musst doch wissen auf welche frage ich antworte (Ich mach jetzt einfach keine Quotes mehr sondern nur noch @Name...)
Ja nur ein Quote, aber den hättest Du bearbeiten müssen! Du hast Dich in Deiner Antwort lediglich auf den mittleren Absatz bezogen - also reicht es auch aus, nur genau diesen zu zitieren. Und ja, das macht mitunter ein wenig Arbeit
Wie Du bei mir in diesem Posting sehen kannst, zitiere ich auch nur den für meine Antwort relevanten Teil

Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:08
von Littlejofel
@Blackjack
wie meinst du das an welcher stelle soll ich was eingeben?

Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:19
von EyDu
Es ist ein Unterschied ob du Ja oder "Ja" eingibst.
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:20
von BlackJack
@Littlejofel: Am besten gibst Du sowohl im Editor als auch wenn das Programm nach Eingaben fragt, das richtige ein.
Ich weiss nicht ob Du so weiterkommst. Du schreibst Du hast alles mögliche ausprobiert, aber wir wissen nicht was das alles ist und vor allem auch nicht was Du Dir dabei gedacht hast. Das wäre aber wichtig um zu verstehen wo Du falsche Annahmen triffst, also wo Deine Probleme konkret liegen.
Beim Programmlauf hast Du 'Ja' eingegeben. Wie viele Zeichen sind das? Und womit vergleichst Du das im Programm? Wie viele Zeichen hat *das*? Beantworte diese beiden Fragen für Dich und überprüfe sie dann mit ``print`` und der `len()`-Funktion. Vielleicht kommst Du dann ja drauf.
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:28
von Littlejofel
@Blackjack
Das ist zum Beispiel mein Code :
Code: Alles auswählen
print '1: Tastatur und Maus'
print '2: USB Stick'
print '3: Drucker'
f1 = raw_input('Welche der oben aufgelistteten Dinge sind Ausgabegeräte?')
Eingabe = '3'
if f1 == Eingabe:
print 'Genau'
else:
print 'Leider Falsch'
Wenn ich '3' oder einfach nur 3 eingebe kommt: Leider Falsch , also was muss ich ändern bzw eingeben?
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:30
von anogayales
Verwende dazu am besten den Vergleichsoperator und keine Zuweisung, also
EDIT: Anmerkung: In deinem Code stand
Grüße,
anogayales
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:31
von Littlejofel
Ich bin ein Anfänger und kann damit leider nicht viel anfangen , da ich nicht weiß wo ich was hinschreiben soll.
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:39
von anogayales
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.
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:46
von Littlejofel
EDIT: Anmerkung: In deinem Code stand
Grüße,
anogayales[/quote]
ja für die Variable
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 17:50
von Littlejofel
meinst du das so?
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'
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?
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 18:13
von Littlejofel
Das hier geht (Aber nur mit Zahlen)
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'
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...
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Freitag 25. April 2014, 18:15
von Hyperion
Littlejofel hat geschrieben:
Edit:Hab den anderen code von der Seite hiervor angeguckt in deiner zeile: == in meiner: = aber was ändert das?
Ersters ist ein
Vergleich, zweiteres eine
Zuweisung! Das ist ein erheblicher Unterschied.
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
Und dann sag uns, was die Shell als Antwort hinschreibt!
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Samstag 26. April 2014, 09:00
von Littlejofel
@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.
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Samstag 26. April 2014, 12:30
von Hyperion
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?
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Sonntag 27. April 2014, 09:41
von Littlejofel
Hyperion hat geschrieben:Was denkst Du, sollte dabei rauskommen?
nun ich würde mal sagen ich muss 'ja' eingeben , doch das klappt nicht. Hier ist der Code nur etwas abgespeckt:
Code: Alles auswählen
beginn = raw_input('willst du anfangen?')
eingeben = "'ja'"
if beginn == eingeben:
print 'Funktioniert'
else:
print 'Funktioniert nicht'
so sah das dann in der shell aus : willst du anfangen? 'ja'
Funktioniert nicht
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Sonntag 27. April 2014, 10:15
von pillmuncher
Bei mir funktioniert dein Code:
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
Aber vergleich mal:
Code: Alles auswählen
willst du anfangen? 'ja' # <-- deins
willst du anfangen?'ja' # <-- meins
" 'ja'" ist offensichtlich nicht das gleiche wie "'ja'".
Re: Hilfe meine if statements funktionieren nicht
Verfasst: Sonntag 27. April 2014, 10:16
von Hyperion
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
