Er gebeurt niks omdat de loop (en dus de print) alleen uitgevoerd word als uw getal kleiner is dan 20. En als het kleiner is dan 20, telt ge er gewoon 20 bij op, wat niet de vraag is. De opdracht is om te blijven vragen naar user input zolang deze groter is dan 20.
De while-loop is in ieder geval al de goede keuze, het probleem is dat ge 1 keer de gebruiker voor een getal vraagt, die moet dus in de loop gestoken worden zodat hij het blijft herhalen.
Het is trouwens ook beter om met raw_input() te werken in Python 2 in plaats van input(), en int(raw_input("")) om er een integer van te maken.
getal = 21 # Getal hoger dan het gewenste om de loop te starten
while getal > 20:
getal = int(raw_input("Geef een getal kleiner dan 20: "))
print "Het gegeven getal is:", getal
Of:
getal = int(raw_input("Geef een getal kleiner dan 20: "))
while getal > 20:
getal = int(raw_input("Onjuiste invoer, het getal moet kleiner zijn dan 20. Prober opnieuw: "))
print "Het gegeven getal is:", getal
Dit doet wel geen foutafhandeling. Wat gebeurt er als de gebruiker iets ingeeft wat geen getal is?