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
10 jaar geleden
1.8K

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
10 jaar geleden
Verwijderde gebruiker
10 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 / 5000
Gekozen afbeelding