Eigen Projectje (niet voor school)

Pagina: 1
Acties:
  • 556 views

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn vraag
Ik krijg een 'Invalid syntax' bij regel: 'elif Cijfer3 = input("\nCijfer 3 = "):'
Ik begrijp echter niet wat er in deze regel fout gaat, kan iemand mij WEL helpen in plaats van de vraag als 'opgelost' te bestempelen zonder bruikbare hulp/informatie te verlenen.

Relevante software en hardware die ik gebruik
Python

Wat ik al gevonden of geprobeerd heb
'=' te vervangen met '==', werkt niet.

#Testfile voor het berekenen van het te behalen cijfer om voldoende te blijven staan

print("\nBereken welk cijfer jij voor jouw komende toets moet halen voor het gewenste gemiddelde dat jij wilt komen te staan door middel van dit programma!")
print("\nTip: Wanneer je bijvoorbeeld nog maar 1 cijfer hebt gehad in plaats van 3, vul dan bij 'cijfer 2' in 'reken uit'.")

Wegingtoets = input("\nWeging van toets = ")
Gewenstegemiddelde = input("Het gemiddelde waarop je uit wilt komen = ")

Cijfer1 = input("\nCijfer 1 = ")
Wegingvancijfer1 = input("Weging van cijfer 1 = ")

#------------------------------------#

Cijfer2 = input("\nCijfer 2 = ")
if Cijfer2 == Cijfer2.find("rekenuit") or Cijfer2 == Cijfer2.find("reken uit") or Cijfer2 == Cijfer2.find("Reken uit") or Cijfer2 == Cijfer2.find("Rekenuit"):
Teller = float(Cijfer1) * float(Wegingvancijfer1)
Noemer = float(Wegingvancijfer1)
Gemiddelde = (float(Teller) / float(Noemer))
print ("\nJouw huidige gemiddelde is = " + str(Gemiddelde))
A = (Teller) / (Noemer + float(Wegingtoets))
minimaaltebehalencijfer1 = ((float(Gewenstegemiddelde) - A) * (Noemer + float(Wegingtoets)))/float(Wegingtoets)
print("\nHet minimale cijfer dat je moet halen voor het gewenste gemiddelde = " + str(minimaaltebehalencijfer1))
Wegingvancijfer2 = input("Weging van cijfer 2 = ")

#------------------------------------#

elif Cijfer3 = input("\nCijfer 3 = "):
if Cijfer3 == Cijfer3.find("rekenuit") or Cijfer3 == Cijfer3.find("reken uit") or Cijfer3 == Cijfer3.find("Reken uit") or Cijfer3 == Cijfer3.find("Rekenuit"):
Teller = float(Cijfer1) * float(Wegingvancijfer1) + float(Cijfer2) * float(Wegingvancijfer2)
Noemer = float(Wegingvancijfer1) + float(Wegingvancijfer2)
Gemiddelde = (float(Teller) / float(Noemer))
print ("\nJouw huidige gemiddelde is = " + str(Gemiddelde))
A = (Teller) / (Noemer + float(Wegingtoets))
minimaaltebehalencijfer2 = ((float(Gewenstegemiddelde) - A) * (Noemer + float(Wegingtoets)))/float(Wegingtoets)
print("\nHet minimale cijfer dat je moet halen voor het gewenste gemiddelde = " + str(minimaaltebehalencijfer2))
Wegingvancijfer3 = input("Weging van cijfer 3 = ")

#------------------------------------#

else:
Teller = float(Cijfer1) * float(Wegingvancijfer1) + float(Cijfer2) * float(Wegingvancijfer2) + float(Cijfer3) * float(Wegingvancijfer3)
Noemer = float(Wegingvancijfer1) + float(Wegingvancijfer2) + float(Wegingvancijfer3)
Gemiddelde = (float(Teller) / float(Noemer))
print ("\nJouw huidige gemiddelde is = " + str(Gemiddelde))
A = (Teller) / (Noemer + float(Wegingtoets))
minimaaltebehalencijfer3 = ((float(Gewenstegemiddelde) - A) * (Noemer + float(Wegingtoets)))/float(Wegingtoets)
print ("\nHet minimale cijfer dat je moet halen voor het gewenste gemiddelde = " + str(minimaaltebehalencijfer3))

print("\nVeel succes!")

Alle reacties


Acties:
  • 0 Henk 'm!

  • Satch
  • Registratie: Mei 2004
  • Niet online
Misschien is het weggevallen doordat je je code op Tweakers hebt geplaatst, maar voor Python is indentation/inspringen nogal belangrijk. Ik denk dat het daar fout gaat bij je.
https://docs.python.org/2.0/ref/indentation.html

Acties:
  • 0 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

Satch schreef op zaterdag 18 januari 2020 @ 18:18:
Misschien is het weggevallen doordat je je code op Tweakers hebt geplaatst, maar voor Python is indentation/inspringen nogal belangrijk. Ik denk dat het daar fout gaat bij je.
https://docs.python.org/2.0/ref/indentation.html
Het is mooi dat je naar de docs verwijst, maar verwijs aub wel naar de goede versie. Python 2 is End of Life en zou niet meer gebruikt moeten worden, zeker niet als iemand nog aan het leren is.

Acties:
  • 0 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Je hebt de foutmelding notabene en je ziet waar het mis gaat. Denk eens na waarom het mis gaat als je daar een ‘elif’ doet.

Hint: Je zit niet meer in een if/elif/else scope. Kijkende naar Cijfer1 en Cijfer2 vermoed ik zo dat je de elif bij Cijfer3 niet nodig hebt.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Nu online

Janoz

Moderator Devschuur®

!litemod

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Dit topic is gesloten.