You are on page 1of 3

klinker = ('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U') medeklinker = ('z', 'Z', 'r',

'R', 't', 'T', 'y', 'Y', 'p', 'P', 's', 'S', 'd', 'D', 'f', 'F', 'g', 'G', \ 'h', 'H', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'w', 'W', 'x', 'X', 'c', 'C', 'v', 'V', 'b', 'B', 'n', 'N') def varkenswoord(woord): #start met klinker if woord.startswith(klinker): woord += 'way' #domme exeption elif woord == 'DNa': woord='AdNay' #q of q gevolgd door u elif woord.startswith('q') or woord.startswith('Q'): if woord[1] == 'u' or woord[1] == 'U': woord = woord[2:] + woord[:2] + 'ay' else: woord = woord[1:] + woord[:1] + 'ay' #start met medeklinker elif woord.startswith(medeklinker): #lijst met posities van klinkers lijst[0] = eerste klinker lijst, teller = [], 0 for letter in woord: teller += 1 if letter in klinker: lijst.append(teller) if lijst == []: if woord.startswith(klinker) == True: woord+='way' else: woord+='ay' else: #positie voor klinker s = lijst[0] - 1 if woord[0].isupper() == True: if woord[1].islower() == True: woord = str.upper(woord[s:][0]) + woord[s:][1:] + str.lower(woord[:s][0]) + woord[:s][1:] + 'ay' else: woord = str.upper(woord[s:][0]) + woord[s:][1:] + woord[:s][0] + woord[:s][1:] + 'ay' elif woord[0].islower() == True: if woord[1].islower() == True: woord = woord[s:][0:] + str.lower(woord[:s]) + 'ay' else: woord = woord[s:][0] + woord[s:][1:] + woord[:s] + 'ay' return woord def varkenslatijn(zin): woord, nieuwzin = '', '' zin += '0' for teken in zin: if teken.isalpha() == True: woord += teken else:

nieuwzin += varkenswoord(woord) if teken != '0': nieuwzin += teken woord = '' return nieuwzin

def luhn(nummer): som = 0 lijst = list(str(nummer)) lijst = lijst[-1::-1] for i in range(len(lijst)): if i % 2 == 0: som += int(lijst[i]) else: getal = int(lijst[i]) * 2 if len(str(getal)) == 2: getal = str(getal) getal = int(getal[0]) + int(getal[1]) som += getal else: som += int(getal) return som def geldig(nummer): som = luhn(nummer) if som % 10 == 0: return True else: return False def controle(nummer): for i in range(10): nummeradd = nummer + str(i) boolean = geldig(nummeradd) if boolean == True: return nummeradd else: pass def permutatie(woord, letter): if letter == 'a': woord = woord.replace('N', 'C').replace('W', 'D') woord = woord.replace('A', 'W').replace('D', 'Z') return woord elif letter == 'b': woord = woord.replace('N', 'C').replace('W', 'D') woord = woord.replace('A', 'O').replace('D', 'N') return woord elif letter == 'c': woord = woord.replace('N', 'C').replace('W', 'D') woord = woord.replace('A', 'N').replace('D', 'O')

'A').replace('O', 'B').replace('Z', 'O').replace('B', 'N').replace('C',

'A').replace('O', 'B').replace('Z', 'W').replace('B', 'Z').replace('C',

'A').replace('O', 'B').replace('Z', 'Z').replace('B', 'W').replace('C',

return woord def traject(getal): woord ='OONNWZWN' if getal == 1: antwoord = woord else: for i in range(0, getal - 1): volgendewoord = permutatie(woord, 'a') + 'O' + permutatie(woord, 'a') + 'O' + woord \ + 'N' + woord + 'N' + woord + 'W' + permutatie(woord, 'c') + 'Z' + permutatie(woord, 'b') \ + 'W' + permutatie(woord, 'b')+'N' + woord woord = volgendewoord antwoord = volgendewoord return antwoord def slaapwandelaar(getal, wandelx, wandely, gatx, gaty): kader =3 ** getal weg = traject(getal) x, y = 1, 1 stappen, start = 0, 0 for richting in weg: if wandelx == x and wandely == y: start = 1 if richting == 'N': y += 1 elif richting == 'Z': y -= 1 elif richting == 'O': x += 1 elif richting == 'W': x -= 1 if start != 0: stappen += 1 if gatx == x and gaty == y: if stappen == 0: return stappen else: return stappen

You might also like