2.24. Prøv ... Ellers

BEMÆRK Pythons indrykninger SKAL bevares, ellers KAN eksemplet ikke afvikles:


>>> while 1:
    try:
        indkomst = int(raw_input("Skriv et helt tal: "))
        break
    except ValueError:
        print "Tallet var ikke et heltal (an integer). Prøv igen..."


Skriv et helt tal: 23.6 Tallet var ikke et heltal (an integer). Prøv igen... Skriv et helt tal: 24 >>>

Af hensyn til overskueligheden og til den absolut nødvendige bevarelse af indrykningerne, kommenterer jeg først eksemplet her: while 1: læses som lige så længe påstanden er sand, så skal blokken indkomst = int(raw_input("Skriv et helt tal: ")) og break udføres.


raw_input("Skriv et helt tal: ")
modtager en værdi, der lagres et eller andet sted i computerens arbejdslager, men inden det sker, konverteres den til et heltal (an integer) v.h.a. funktionen int().Kan det ske, sættes en variabel med navnet indkomst til at pege på stedet i lageret, hvor det hele tal findes i form af et antal "ledninger" med og uden strøm på (svarende helt til 1-taller og 0-er) i vores binære talsystem. Såfremt og kun såfremt den indtastede værdi kan tildeles indkomst, så fortsættes til næste programlinje break - afbryd while løkken. Er den indtastede værdi et heltal, kommer blokken except ValueError: aldrig i brug, så det næste Python skal gøre er at melde klar til mere aktiv kommunikation med brugeren, hvilket som bekendt meldes med \>>>

Men en gang mere PAS PÅ INDRYKNINGERNE. De SKAL ubetinget være korrekte, ellers kan Python fortolkeren jo ikke afgøre, hvor en blok begynder og slutter.