From 07482cc97ed60340dfad172d4ee29f8f7348c114 Mon Sep 17 00:00:00 2001 From: Marcel Haazen Date: Sat, 5 Oct 2019 00:04:44 +0200 Subject: [PATCH] upload assignments --- Final Assignment/FA-2.py | 86 +++++++++++++++++++++++++++++++++++ Final Assignment/kluizen.txt | 5 ++ Untitled Diagram.jpg | Bin 0 -> 58677 bytes les 6/6-2.py | 4 +- les 6/6-3.py | 25 ++++++++++ les 6/6-4.py | 19 ++++++++ les 6/Hardlopers.txt | 8 ++++ les 7/7-3.py | 28 ++++++++++++ 8 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 Final Assignment/FA-2.py create mode 100644 Final Assignment/kluizen.txt create mode 100644 Untitled Diagram.jpg create mode 100644 les 6/6-3.py create mode 100644 les 6/6-4.py create mode 100644 les 6/Hardlopers.txt create mode 100644 les 7/7-3.py diff --git a/Final Assignment/FA-2.py b/Final Assignment/FA-2.py new file mode 100644 index 0000000..860bfef --- /dev/null +++ b/Final Assignment/FA-2.py @@ -0,0 +1,86 @@ +#!/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)) \ No newline at end of file diff --git a/Final Assignment/kluizen.txt b/Final Assignment/kluizen.txt new file mode 100644 index 0000000..cc6b0d1 --- /dev/null +++ b/Final Assignment/kluizen.txt @@ -0,0 +1,5 @@ +11;6754 +1;geheim +5;kluisvanpietje +12;z@terd@g +2;sdfa diff --git a/Untitled Diagram.jpg b/Untitled Diagram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f96bfe94e7e6c98227f9aa83fd3af6d8b9e155c8 GIT binary patch literal 58677 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 IKYU^RA20K22><{9 literal 0 HcmV?d00001 diff --git a/les 6/6-2.py b/les 6/6-2.py index d9550ad..bac8d65 100644 --- a/les 6/6-2.py +++ b/les 6/6-2.py @@ -12,5 +12,5 @@ file = open("kaartnummers.txt", "r") for line in file: - fields = line.split(", ") - print(fields[1], "Heeft kaartnummer:", fields[0]) \ No newline at end of file + fields = line.split(",") + print(fields[1].rstrip(), "Heeft kaartnummer:", fields[0]) \ No newline at end of file diff --git a/les 6/6-3.py b/les 6/6-3.py new file mode 100644 index 0000000..b8208f6 --- /dev/null +++ b/les 6/6-3.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +#title :6-3.py +#description :Opdracht 6.3 - Files Lezen +#author :Marcel Haazen +#email :marcel@haazen.xyz +#date :04-10-2019 - 08:21 +#version :0.1 +#usage :python3 6-3.py +#notes : +#python_version :3.7.4 +#============================================================================== + +file = open("kaartnummers.txt", "r") +n = 0 +i = 0 +li = 0 +for line in file: + i = i+1 + fields = line.split(",") + if n < int(fields[0]): + n = int(fields[0]) + li = li+1 +print("Deze file telt",i,"regels") +print("Het grootste kaartnummer is:",n,"en dat staat op regel",li+1) +file.close \ No newline at end of file diff --git a/les 6/6-4.py b/les 6/6-4.py new file mode 100644 index 0000000..72a34fd --- /dev/null +++ b/les 6/6-4.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +#title :6-4.py +#description :Opdracht 6.4 - Files schrijven +#author :Marcel Haazen +#email :marcel@haazen.xyz +#date :04-10-2019 - 20:43 +#version :0.1 +#usage :python3 6-4.py +#notes : +#python_version :3.7.4 +#============================================================================== +import datetime +while 1 == 1: + vandaag = datetime.datetime.today() + s = vandaag.strftime("%a %d %b %Y, %H:%M:%S") + naam = input("Naam renner:") + file = open("Hardlopers.txt", "a+") + file.write(s+", "+naam+"\n") + file.close \ No newline at end of file diff --git a/les 6/Hardlopers.txt b/les 6/Hardlopers.txt new file mode 100644 index 0000000..0da4d80 --- /dev/null +++ b/les 6/Hardlopers.txt @@ -0,0 +1,8 @@ +Thu 10 Mar 2016, 10:45:52, Miranda +Thu 10 Mar 2016, 10:46:04, Piet +Thu 10 Mar 2016, 10:47:27, Sacha +Thu 10 Mar 2016, 10:48:33, Karel +Thu 10 Mar 2016, 10:48:42, Kemal +Fri 04 Oct 2019, 20:55:36, geert +Fri 04 Oct 2019, 20:55:38, henk +Fri 04 Oct 2019, 20:55:41, adolf diff --git a/les 7/7-3.py b/les 7/7-3.py new file mode 100644 index 0000000..1681617 --- /dev/null +++ b/les 7/7-3.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +#title :7-3.py +#description :Opdracht 7.3 - Two-dimensional lists +#author :Marcel Haazen +#email :marcel@haazen.xyz +#date :04-10-2019 - 21:25 +#version :0.1 +#usage :python3 7-3.py +#notes : +#python_version :3.7.4 +#============================================================================== +import numpy as np +studentencijfers = [[95, 92, 86],[66, 75, 54],[89, 72, 100],[34, 0, 0]] + +def gemiddelde_per_student(studentencijfers): + antw = np.array(studentencijfers) + antw = antw.mean(axis=1, dtype=np.float64) + return antw + +def gemiddelde_van_alle_studenten(studentencijfers): + antw = np.array(studentencijfers) + antw = antw.mean(axis=1) + antw = np.array(antw) + antw = antw.mean() + return antw + +print(gemiddelde_per_student(studentencijfers)) +print(gemiddelde_van_alle_studenten(studentencijfers)) \ No newline at end of file