#!/usr/bin/env python3 #title :FA-2.py #description :Final Assignment: Bagagekluizen #author :Marcel Haazen #email :marcel@haazen.xyz #date :04-10-2019 - 21:25 #version :0.1 #usage :python3 FA-2.py #notes : #python_version :3.7.4 #============================================================================== exit = False def find_missing(lst): return [x for x in range(lst[0], lst[-1]+1) if x not in lst] def toon_aantal_kluizen_vrij(): num_lines = sum(1 for line in open("kluizen.txt")) free = 12 - num_lines return free def nieuwe_kluis(): file = open("kluizen.txt", "r+") gebruikt = [] rules = file.readlines() for x in rules: y = x.split(";") gebruikt.append(int(y[0])) gebruikt.sort() kluisnummers = find_missing(gebruikt) for rule in rules: y = rule.split(";") if (len(kluisnummers)) > 0: kluis_code = str(input("Geef een code op voor uw kluis (minimaal 4 karakters):")) if len(kluis_code) >= 4: toegewezen_kluisnummer = str(kluisnummers[0]) file.write(toegewezen_kluisnummer + ";" + kluis_code + "\n") return "\nJe nieuwe kluisnummer is: " + str(toegewezen_kluisnummer) + "\n" else: print("De opgegeven code is te kort (minimaal 4 karakters)") else: return "\ner is niks meer vrij\n" file.close() def kluis_openen(kluisnummer,code): file = open("kluizen.txt", "r+") rules = file.readlines() for rule in rules: if str(kluisnummer) + ";" + code + "\n" == rule: return "\nDe kluis is geopend\n" else: return "\nDe ingevoerde gegevens zijn niet correct\n" file.close() def kluis_teruggeven(kluisnummer,code): file = open("kluizen.txt", "r+") rules = file.readlines() file.close() for rule in rules: if str(kluisnummer) + ";" + code + "\n" == rule: rules.remove(str(kluisnummer) + ";" + code + "\n") file = open("kluizen.txt", "w") file.writelines(rules) file.close() return "\nDe kluis is vrijgegeven\n" return "\nDe ingevoerde gegevens zijn niet correct\n" while exit != True: print("1: Ik wil weten hoeveel kluizen nog vrij zijn \n2: Ik wil een nieuwe kluis \n3: Ik wil even iets uit mijn kluis halen \n4: Ik geef mijn kluis terug\n5: ik wil stoppen") num = int(input("Kies wat je wilt doen: ")) if num == 5: exit = True elif num == 1: print("\nEr zijn",toon_aantal_kluizen_vrij(),"kluizen vrij \n") elif num == 2: print(nieuwe_kluis()) elif num == 3: kn = input("wat is je kluisnummer? ") kc = input("wat is je code? ") print(kluis_openen(kn,kc)) elif num == 4: kn = input("wat is je kluisnummer? ") kc = input("wat is je code? ") print(kluis_teruggeven(kn,kc))