Hét vraag- en antwoordplatform van Nederland

mijn script werkt niet python?

ik ben net begonnen met programmeren in python maar mij script wil niet werken kan iemand mij helpen.

a = input("ik kan tot tien tellen wil je het zien:")

if a == ja:
while i<=11:
print ("i")
i=i+1
else:
print ("oke.")

Verwijderde gebruiker
9 jaar geleden
1.7K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (1)

Je tweede regel zegt:
if a == ja

je bedoelt natuurlijk dat de waarde die a heeft, gelijk is aan het woord "ja".
Op deze manier zal het programma echter zoeken naar de variabele 'ja'.
Nu denkt het programma dat er ergens staat:

ja = 5
of
ja = 'hallo'

Om te kijken of a gelijk is aan het letterlijke woord "ja", moet je de 'ja' tussen aanhalingstekens zetten:
vervang
if a == ja:
met
if a == "ja":

Je derde regel zegt:
while i <=11:

i is op dat moment alleen helemaal niks.
i heeft geen waarde, dat betekent NIET dat i gelijk is aan 0, maar dat i gewoon niet bekend is: ongedefinieerd.
voordat je de zegt "zolang i kleiner is dan 11", moet je i wel kennen. Zet dus boven de while het volgende:
i = 1

Het programma leest nu eerst dat i gelijk is aan 1.
Dan leest het programma: "zolang i kleiner is dan 11"
nu 'denkt' de computer: 'hee! i is inderdaad kleiner dan 11, want i is gelijk aan 1'.
en hij begint de loop.

Verder snap je het principe wel! Probeer leuke, uitdagende scripts te verzinnen om te schrijven, en kijk ook eens naar de for-loop, die is hier ook handig.

Zoek veel op internet op, en kijk niet op van fouten. Het eerste programma dat ik compleet foutloos schrijf in 1 keer, moet ik nog schrijven ;-)

Succes!

Toegevoegd na 2 minuten:
Ik zie nog een fout:

Je zegt op een gegeven moment print("i")
Dit betekent: print de letter "i".
Jij wilt echter waarde die de variabele i op dat moment heeft printen.
vervang dit daarom door:
print(i)

Toegevoegd na 6 minuten:
Zelfde programma met de for-loop:

a = input("ik kan tot tien tellen. Wil je dat zien? ")
if a == "ja":
for i in range(1, 11):
print(i)
else:
print("oke")

Dit zou je zelfs kunnen schrijven als:

if input("ik kan tot tien tellen. Wil je dat zien? ") == "ja":
for i in range(1, 11):
print(i)
else:
print("oke")
(Lees meer...)
Verwijderde gebruiker
9 jaar geleden
Verwijderde gebruiker
9 jaar geleden
dank je weer wat geleerd

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding