On 14 May 2015 at 23:07:57, Marc Stevens ([email protected]) wrote:
> ***warning*** unable to create version resource
> install pywin32 extension first
Wellicht pywin32 installeren?
Verder valt op dat je eerst van alles checkt voor iets te doen. Iets meer
‘pythonic’ is om iets gewoon te proberen en fouten dan af te handelen. Ik heb
het geheel een klein beetje aangepast waarmee de conversie van de variabele
getal naar een int wordt gedaan in een try/except block. Als dat niet lukt
krijg je een ValueError terug, die vang ik hier af in de except. Gelijk ook de
check dat letters geen digits zijn hierbij gestoken met een assert, die een
AssertionError opwerpt als dat niet het geval is. Je kan dan toe met één keer
die foutafhandeling schrijven.
while 1:
invoer = raw_input("Geef postcode in: ")
if invoer == ("stop"):
break
lengte = len(invoer)
if lengte == 6:
cijfers = invoer[:4]
letters = invoer[-2:]
try:
getal = int(cijfers)
assert not letters.isdigit()
except (ValueError, AssertionError):
print("Verkeerde invoer")
continue
print getal
print letters
print ("uw postcode is:") + invoer
else:
print("Verkeerde invoer")
print ("Dank u wel!")
Je zou op deze manier ook nog de check op lengte weg kunnen werken. Wellicht
nog een leuke oefening om bij extensie ook invoer met spatie tussen cijfers en
letters toe te staan en wat specifiekere foutmeldingen te geven die de
gebruiker laten weten wat er precies niet klopt aan de invoer.
_______________________________________________
Python-nl mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-nl