Python IF Statement

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ef_711
User
Beiträge: 1
Registriert: Samstag 22. Januar 2022, 14:51

Hallo ich habe jetzt einige Einträge hier im Forum gelesen, konnte aber noch keine Lösung für mein Problem finden. Für folgenden Code bekomme ich immer einen invalid Syntax, verstehe aber noch nicht warum. Ich hoffe, dass ihr mir da helfen könnt.
points = 174 # use this input to make your submission
prizeMsg = " Congratulations! You won a [prize name]"
noPrizeMsg = "Oh dear, no prize this time."
# write your if statement here
if points == 0:
print(noPrizeMsg)

elif points > 0 and < 51:
prize_name = ("wooden rabbit")
print (prizeMsg)

elif points > 50 and < 151:
print(noPrizeMsg)

elif points > 150 and < 181:
prize_name = ("wafer-thin mint")
print (prizeMsg)

elif points > 180 and < 201:
prize_name = ("penguin")
print(prizeMsg)

else:
print(noPrizeMsg)
print(result)
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

Ohne jetzt tiefer in deinen Code einzusteigen, schon das hier macht nicht, was du glaubst:

Code: Alles auswählen

elif points > 0 and < 51:
Wenn du wissen willst ob points größer 0 und kleiner 51 ist, dann schreibt man das so:

Code: Alles auswählen

elif 0 < points < 51:
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Und auch das ist ja schon ein Syntaxfehler wenn ``and`` und ``<`` sind zwei direkt aufeinanderfolgende binäre Operatoren, die so ohne einen Operanden dazwischen eben schon syntaktisch falsch sind.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn man Bedingungen hat, die sich gegenseitig ausschließen, dann kann man das viel klarer schreiben:

Code: Alles auswählen

if points <= 0:
    print(noPrizeMsg)
elif points < 51:
    prize_name = "wooden rabbit"
    print (prizeMsg)
elif points < 151:
    print(noPrizeMsg)   
elif points < 181:
    prize_name = "wafer-thin mint"
    print (prizeMsg)    
elif points < 201:
    prize_name = "penguin"
    print(prizeMsg)    
else:
    print(noPrizeMsg)
Antworten