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.
Hallo!
Ich habe heute angefangen Python zu programmieren. Es war kein Fehler. Ich hab eben dann ein kleines Programm geschrieben das mit rechnen zu tun hat.
Ich bekomm jedoch eine Fehlermeldung.
def Waffenschaden():
Ar = 30
Pumpgun = 100
Deagle = 70
Ak = 44
waffentyp = int(input("Welche Waffe(Ar(1),Pumpgun(2),Deagle(3),Ak(4))?:" )
waffenfarbe = int(input("Welche Waffenfarbe(grau(1),grün(2),blau(3),lila(4),gold(5))?:" )
schuss_anzahl = int(input("Wie viele Schüsse?:" )
#Ar Abfrage
if(waffentyp == 1 and waffenfarbe == 1):
return Ar * schuss_anzahl
if(waffentyp == 1 and waffenfarbe == 2):
Ar += 2
return Ar * schuss_anzahl
if(waffentyp == 1 and waffenfarbe == 3):
Ar += 4
return Ar * schuss_anzahl
if(waffentyp == 1 and waffenfarbe == 4):
print("Waffe existiert nicht)
if(waffentyp == 1 and waffenfarbe == 5):
print("Waffe existiert nicht)
#Pumpgun Abfrage
if(waffentyp == 2 and waffenfarbe == 1):
print("Waffe existiert nicht)
if(waffentyp == 2 and waffenfarbe == 2):
Pumpgun -= 20
return Pumpgun * schuss_anzahl
if(waffentyp == 2 and waffenfarbe == 3):
Pumpgun -= 10
return Pumpgun * schuss_anzahl
if(waffentyp == 2 and waffenfarbe == 4):
return Pumpgun * schuss_anzahl
if(waffentyp == 2 and waffenfarbe == 5):
Pumpgun += 10
return Pumpgun * schuss_anzahl
#Deagle Abfrage
if(waffentyp == 3 and waffenfarbe == 1):
print("Waffe existiert nicht)
if(waffentyp == 3 and waffenfarbe == 2):
print("Waffe existiert nicht)
if(waffentyp == 3 and waffenfarbe == 3):
print("Waffe existiert nicht)
if(waffentyp == 3 and waffenfarbe == 4):
return Deagle * schuss_anzahl
if(waffentyp == 3 and waffenfarbe == 5):
Deagle += 5
return Deagle * schuss_anzahl
#Ak Abfrage
if(waffentyp == 4 and waffenfarbe == 1):
print("Waffe existiert nicht)
if(waffentyp == 4 and waffenfarbe == 2):
print("Waffe existiert nicht)
if(waffentyp == 4 and waffenfarbe == 3):
return Ak * schuss_anzahl
if(waffentyp == 4 and waffenfarbe == 4):
Ak += 2
return Ak * schuss_anzahl
if(waffentyp == 4 and waffenfarbe == 5):
Ak += 5
return Ak * schuss_anzahl
gegner_leben = int(input("Wie viel Leben hat ihr Gegner?:")
schaden = int(Waffenschaden())
#Leben abziehen
gegner_leben1 = gegner_leben - schaden
print("Der Gegner hat noch"+ " " + gegner_leben)
abgezogenes_leben = gegner_leben - gegner_leben1
print("Sie haben ihm" + " " + abgezogenes_leben + " " + "Leben abgezogen")
if(gegner_leben1 <= gegner_leben/2)
print("Der Gegner ist low"
else:
print("Der Gegner hat noch mehr als die Hälfte seines Lebens")
elif(schaden > gegner_leben)
print("Der Gegner ist Tod")
Die Fehlermeldung lautet: "SyntaxError: invalid syntax"
und ein Pfeil zeigt auf des e von waffenfarbe(anfang des codes).
Ich weiß nicht weiter, habt ihr eine Idee?
Anmerkungen zum Code: if ist keine Funktion, die Klammern gehören also allesamt weg. Auch wenn man die if-Kaskade in Waffenschaden am besten durch eine geeignete Datenstruktur ersetzt, als erster Schritt wäre die if's zu verschachteln, als erstes waffentyp abzuprüfen und innerhalb dann waffenfarbe.
Weiter unten gibt es noch ein paar Syntaxfehler wegen falschem elif und fehlenden Klammern.
Programmieren heißt auch, Code stück für Stück zu testen und nicht zig Zeilen herunterzuschreiben und dann anzufangen, nach Fehlern zu suchen.