Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def code2karakter(codes):
- invoer = open(codes, 'r')
- inhoud = invoer.readlines()
- woordenboek = {}
- for regel in inhoud:
- splitsing = regel.split(' ', 1)
- for i, teken in enumerate(splitsing[1]):
- woordenboek.update({splitsing[0] + '.' + str(i): teken})
- return woordenboek
- def karakter2codes(codes):
- invoer = open(codes, 'r')
- inhoud = invoer.readlines()
- woordenboek = {}
- for regel in inhoud:
- splitsing = regel.split(' ', 1)
- tekens = list(set(splitsing[1]))
- for teken in tekens:
- voorkomen = [splitsing[0] + '.' + str(i) for i, t in enumerate(splitsing[1]) if t == teken]
- if teken not in woordenboek.keys():
- woordenboek.update({teken: set(voorkomen)})
- else:
- woordenboek[teken].update(set(voorkomen))
- return woordenboek
- class Hippocrates:
- def __init__(self, codes):
- invoer = open(codes, 'r')
- inhoud = invoer.readlines()
- woordenboek = {}
- for regel in inhoud:
- regel = regel.strip('\n')
- splitsing = regel.split(' ', 1)
- woordenboek.update({splitsing[0]: splitsing[1]})
- self.woordenboek = woordenboek
- self.c2k = code2karakter(codes)
- self.k2c = karakter2codes(codes)
- def beschrijving(self, icd):
- if icd not in self.woordenboek:
- raise ValueError('ongeldige ICD-code')
- return self.woordenboek[icd]
- def karakter(self, code):
- if code not in self.c2k:
- raise ValueError('ongeldige Hippocrates-code')
- return self.c2k[code]
- def codes(self, karakter):
- if karakter not in self.k2c:
- return set()
- return self.k2c[karakter]
- def codeer(self, boodschap):
- import random
- code = ''
- for teken in boodschap:
- if teken not in self.k2c.keys():
- raise ValueError('ongeldige platte tekst')
- vervanger = random.choice(list(self.k2c[teken]))
- code += vervanger + ' '
- return code.rstrip()
- def decodeer(self, gecodeerd):
- boodschap = ''
- code = gecodeerd.split()
- if not all(c in self.c2k.keys() for c in code):
- raise ValueError('ongeldige gecodeerde tekst')
- for c in code:
- boodschap += self.c2k[c]
- return boodschap
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement