Seite 1 von 1

If/else Problem

Verfasst: Mittwoch 15. Dezember 2021, 20:05
von andie39
Hallo.

Ich versuche gerade selber ein Stein, Schere, Papier Spiel zu schreiben.
Ich weiß, gibt es hier schon und ist oft für Anfänger als Übung und Beispiel gezeigt.

Hatte ich auch gesehen, ich wollte es aber selber ohne abgucken aus meinem Kolf mit dem was ich bisher gelernt habe selber schreiben.
Und wenn es grundsätzlich funktioniert noch mit anderen Teilen verbessern.

Wie dem auch sei. Es klappt ganz gut außer an einer Stelle mit einer if/else Bedingung.

Ich habe den Bereich sogar in klein rausgenommen um dem Problem auf die Spur zu kommen aber es klappt nicht.

Hier die kurze Form:

Code: Alles auswählen



choice = input("Deine Wahl ")
computer=["A","B","C"]

if choice in [computer]:
	print("Match")
	
else:
        print("Wrong input")

Durch Eingabe wird die Variabel choice bestimmt
und mit der Liste computer verglichen.
Wenn die Eingabe in der Liste ist, müsste „Match“ ausgegeben werden, sonst „Wrong input“.

Aber: es wird IMMER Wrong input ausgegeben auch wenn ich A B oder C eingebe.

Was mache ich falsch?

Re: If/else Problem

Verfasst: Mittwoch 15. Dezember 2021, 20:14
von pillmuncher
Kannst du erklären, wozu die eckigen Klammern in der if-Klausel dienen?

Re: If/else Problem

Verfasst: Mittwoch 15. Dezember 2021, 20:19
von andie39
pillmuncher hat geschrieben: Mittwoch 15. Dezember 2021, 20:14 Kannst du erklären, wozu die eckigen Klammern in der if-Klausel dienen?

Danke……das wars…..

Re: If/else Problem

Verfasst: Sonntag 19. Dezember 2021, 13:45
von andie39
So, ich versuche ein neues selbst zu schreiben.

Einen Umrechner für Temperaturen in Celsius, Fahrenheit und Kelvin

Dabei habe ich erneut ein Problem mit if/else, eigentlich habe ich schon mehr geschrieben aber bei Zwischentests geht es nicht weiter also habe ich Teile entfernt um das Problem zu finden.

Code: Alles auswählen


# Dies ist ein Konverter zur Umrechnung der Temperaturen Kelvin, Celsius und Fahrenheit

def main():
	
    print("Willkommen zu 'Temp-Konv,' dem Temperatur Umrechner' von Celsius, Fahrenheit und Kelvin! \n")

    print("Bitte wählen Sie eine Umrechnungsvariante: \n\n")

    print("(1)Umrechnung: Celsius in Fahrenheit")
    print("(2)Umrechnung: Celsius in Kelvin")
    print("(3)Umrechnung: Fahrenheit in Celsius")
    print("(4)Umrechnung: Fahrenheit in Kelvin")
    print("(5)Umrechnung: Kelvin in Celsius")
    print("(5)Umrechnung: Kelvin in Fahrenheit")
    
    eingabe = input("Ihre Wahl: ")
    
    if eingabe == 1 or eingabe == 2:
        print("Wählen Sie einen Wert in Celsius")
        
    elif eingabe == 3 or eingabe == 4:
        print("Wählen Sie einen Wert in Fahrenheit")
    

        
if __name__ == "__main__":
    main()

        

Wenn ich eine Zahl zwischen 1 und 4 Eingabe kommt keine Ausgabe was ich gewählt habe.

Es gibt auch keine Fehlermeldung.

Ich verstehe es nicht.

Re: If/else Problem

Verfasst: Sonntag 19. Dezember 2021, 13:54
von Sirius3
`input` liefert immer einen String. Das kann niemals gleich einer Zahl sein. Das mußt Du schon selbst umwandeln.

Re: If/else Problem

Verfasst: Sonntag 19. Dezember 2021, 14:08
von andie39
Sirius3 hat geschrieben: Sonntag 19. Dezember 2021, 13:54 `input` liefert immer einen String. Das kann niemals gleich einer Zahl sein. Das mußt Du schon selbst umwandeln.

…..jetzt wo du es sagst…..
Danke :(

Re: If/else Problem

Verfasst: Sonntag 19. Dezember 2021, 15:38
von __blackjack__
@andie39: Hier hätte man sich zumindest eine Fehlermeldung selber schreiben können, wenn es am Ende noch ein ``else`` damit gibt. Hier dann nicht mit ``assert`` weil mal von der fehlenden Umwandlung abgesehen, eine Falscheingabe vom Benutzer ja kein Fehler des Programmierers ist.