Programeer opdrachtenOpdracht : opdr5b_spacekees.txt

Terug naar de inzendingen
Opdracht 5b, Kees RemmelZwaal
13 April 2005
 Ik wil ook graag mijn oplossing plaatsen in python !
 sorry, maar ik kan (nog) geen andere taal. Razz
 
 leuk opdrachtje trouwens, je moet er maar opkomen.
 1 
****opdracht5b.py*****
  
 2#!/usr/bin/python
 3
 4m = (0, 3, 6, 9, 12, 15, 19, 22, 26)  # toetsen indeling, a=1, z=26
 5
 6def functie(l):
 7   x= 0
 8   if l == -64:         # geef waarde (1, 1) voor spaties.
 9      return x+1, 1      
 10   elif l < 0 or l > 26:         # geef waarde (?, ?) voor karakters die niet
 11in het alfabet voor komen.
 12      return "(?, ?)"      
 13   else:
 14      for i in m:          # bereken de toets en de push waarde.
 15         if l <= i:
 16            return (x + 1), (l - m[x-1])
 17            break
 18         x += 1
 19
 20print 'invoer: ',
 21
 22input = raw_input()
 23input = input.lower() # converteer hoofdletters naar kleine letters.
 24
 25L = [ (ord(i)- 96) for i in input ] # converteer de letters naar cijfers.
 26
 27x = 0
 28for i in L:
 29   print input[x], functie(i)
 30   x += 1
 
 
Mijn commentaar
 
 Kees,
 Een kort en efficient programma waarin je mooi gebruik maakt van de
 (schimmige) syntax mogelijkheden die python bied.
 Je vangt keurig niet bestaande letters af maar houd er geen rekening mee
 dat niet alle karakters op een GSM in de ascii tabel voorkomen.
 Ook (voor zover ik kan zien) kent jouw programma geen cijfers
 die toch wel degelijk tot het SMS reportaoire horen !
 Wel leuk gedaan !
 hoop dat je volgende keer weer meedoet.