[Tutor] Difficult loop?

bob gailer bgailer at gmail.com
Thu Oct 16 15:24:16 CEST 2008


How about:

word = "Almuta$r~id"
predecessors = "_" * 5
successors = "".join(letter for letter in word if letter not in "aiou+~")
for index, letter in enumerate(word):
  if letter not in "aiou~+":
    next = word[index+1] if index < len(word) - 1 else ""
    if next in "aiou":
      tail = next
    elif next == "~":
      next = word[index+2] # bold assumption that a short vowel will 
follow ~
      tail = "~" + next
    else:
      tail = "_"
    print predecessors + successors + tail
    predecessors = predecessors[1:] + letter
    successors = successors[1:] + ("_" if len(successors) <= 5 else "")

Simple - procedural - no functions. 16 lines of code. Easy to read and 
maintain.

-- 
Bob Gailer
Chapel Hill NC 
919-636-4239

When we take the time to be aware of our feelings and 
needs we have more satisfying interatctions with others.

Nonviolent Communication provides tools for this awareness.

As a coach and trainer I can assist you in learning this process.

What is YOUR biggest relationship challenge?



More information about the Tutor mailing list