| @ -0,0 +1,54 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :FA-3.py | |||||
| #description :Final Assignemt: NS-kaartautomaat | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :04-11-2019 - 11:58 | |||||
| #edit_date :04-11-2019 - 11:58 | |||||
| #version :0.1 | |||||
| #usage :python3 FA-3.py | |||||
| #notes : | |||||
| #python_version :3.7.4 | |||||
| #============================================================================== | |||||
| import string | |||||
| stations = ["Schagen", "Heerhugowaard", "Alkmaar", "Castricum", "Zaandam", "Amsterdam Sloterdijk", "Amsterdam Centraal", "Amsterdam Amstel", "Utrecht Centraal", "'s-Hertogenbosch", "Eindhoven", "Weert", "Roermond", "Sittard", "Maastricht"] | |||||
| def inlezen_beginstation(stations): | |||||
| while True: | |||||
| start = string.capwords(str(input("What is your starting station? "))) | |||||
| if start in stations: | |||||
| break | |||||
| else: | |||||
| print("\nThis train does not come in:", start, end= "." "\n") | |||||
| return start | |||||
| def inlezen_eindstation(stations,start): | |||||
| while True: | |||||
| ends = string.capwords(str(input("What is your starting station? "))) | |||||
| if ends in stations: | |||||
| if stations.index(ends) > stations.index(start): | |||||
| break | |||||
| else: | |||||
| print("\nThe endstation is before the current station\n") | |||||
| else: | |||||
| print("\nThis train does not come in:", ends, end= "." "\n") | |||||
| return ends | |||||
| def omroepen_reis(stations, beginstation, eindstation): | |||||
| stops = stations.index(eindstation) - stations.index(beginstation) | |||||
| print("\n \nHet beginstation", beginstation, "is het", (str(stations.index(beginstation)+ 1) + "e"), "station in het traject.") | |||||
| print("Het eindstation", eindstation, "is het", (str(stations.index(eindstation)+ 1) + "e"), "station in het traject.") | |||||
| print("De afstand bedraagt", stops, "stations(s).") | |||||
| print("De prijs van het kaartje is", 5 * stops, "euro.") | |||||
| print("\nJij stapt in de trein in:", beginstation) | |||||
| for i in range((stations.index(beginstation)), (stations.index(eindstation))): | |||||
| i += 1 | |||||
| if i != stations.index(eindstation): | |||||
| print(" -",stations[i]) | |||||
| print("Jij stapt uit in:", eindstation) | |||||
| beginstation = inlezen_beginstation(stations) | |||||
| eindstation = inlezen_eindstation(stations, beginstation) | |||||
| omroepen_reis(stations, beginstation, eindstation) | |||||
| @ -0,0 +1,25 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :10-1.py | |||||
| #description :10.1: Catching exceptions | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :07-11-2019 - 11:15 | |||||
| #edit_date :07-11-2019 - 11:45 | |||||
| #version :0.1 | |||||
| #usage :python3 10-1.py | |||||
| #notes : | |||||
| #python_version :3.7.4 | |||||
| #============================================================================== | |||||
| amount = 4356 | |||||
| try: | |||||
| devider = int(input("Door hoeveel wil je het delen? ")) | |||||
| assert devider > 0 | |||||
| print("Iedereen moet",amount/devider," euro betalen") | |||||
| except ZeroDivisionError: | |||||
| print("Delen door nul kan niet!") | |||||
| except ValueError: | |||||
| print("Gebruik cijfers voor het invoeren van het aantal!") | |||||
| except AssertionError: | |||||
| print("Negatieve getallen zijn niet toegestaan!") | |||||
| except: | |||||
| print("Onjuiste invoer!") | |||||
| @ -0,0 +1,23 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :10-2.py | |||||
| #description :10.2: User input & exceptions | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :07-11-2019 - 11:45 | |||||
| #edit_date :07-11-2019 - 11:54 | |||||
| #version :0.1 | |||||
| #usage :python3 10-2.py | |||||
| #notes : | |||||
| #python_version :3.7.4 | |||||
| #============================================================================== | |||||
| while True: | |||||
| try: | |||||
| uurloon = float(input("Wat is je uurloon?")) | |||||
| uren = float(input("Hoeveel uur heb je gewerkt?")) | |||||
| assert uren > 0 | |||||
| print("Je salaris is", uurloon*uren, "Euro") | |||||
| break | |||||
| except ValueError: | |||||
| print("Wij accepteren aleen cijfers geen andere characters") | |||||
| except AssertionError: | |||||
| print("Negatieve werk uren !? Wil je gaan betalen inplaats van betaald worden?") | |||||
| @ -0,0 +1,35 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :10-2.py | |||||
| #description :10.2: User input & exceptions | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :07-11-2019 - 11:45 | |||||
| #edit_date :07-11-2019 - 11:54 | |||||
| #version :0.1 | |||||
| #usage :python3 10-2.py | |||||
| #notes : | |||||
| #python_version :3.7.4 | |||||
| #============================================================================== | |||||
| while True: | |||||
| try: | |||||
| filename = input("Wat is de naam van het bestand? \n") | |||||
| assert filename != "" | |||||
| filename = filename+".txt" | |||||
| file = open(filename, "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 | |||||
| break | |||||
| except FileNotFoundError: | |||||
| print("Er is geen bestand gevonden met de naam", filename) | |||||
| except AssertionError: | |||||
| print("Je moet wel een bestands naam invullen he grapjas.") | |||||
| @ -0,0 +1,6 @@ | |||||
| 325255, Jan Jansen | |||||
| 334343, Erik Materus | |||||
| 235434, Ali Ahson | |||||
| 645345, Eva Versteeg | |||||
| 534545, Jan de Wilde | |||||
| 345355, Henk de Vries | |||||
| @ -0,0 +1,35 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :11-1.py | |||||
| #description :11.1: Namespaces | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :07-11-2019 - 12:55 | |||||
| #edit_date :07-11-2019 - 12:55 | |||||
| #version :0.1 | |||||
| #usage :python3 11-1.py | |||||
| #notes : | |||||
| #python_version :3.7.4 | |||||
| #============================================================================== | |||||
| import time | |||||
| b = 7 | |||||
| def verdubbelB(): | |||||
| return b + b | |||||
| dubbel = verdubbelB() | |||||
| print(dubbel) | |||||
| print(time.strftime(("%H:%M:%S"))) | |||||
| def f(y): | |||||
| return 2*y + 1 | |||||
| def g(x): | |||||
| return 5 + x + 10 | |||||
| print(f(3)+g(3)) | |||||
| @ -0,0 +1,29 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :11-2.py | |||||
| #description :11.2: JSON-stationslijsten lezen | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :07-11-2019 - 13:45 | |||||
| #edit_date :07-11-2019 - 14:05 | |||||
| #version :0.1 | |||||
| #usage :python3 11-2.py | |||||
| #notes : | |||||
| #python_version :3.7.4 | |||||
| #============================================================================== | |||||
| import json | |||||
| with open("stationslijst.json", "r") as json_file: | |||||
| data = json.load(json_file) | |||||
| lng = [] | |||||
| print("Dit zijn de namen, codes en types van de stations:") | |||||
| for station in data["payload"]: | |||||
| name = station["namen"]["lang"] | |||||
| code = station["code"] | |||||
| st = station["stationType"] | |||||
| lng.append(station['lng']) | |||||
| print("{:25} - {:5} : {:5}".format(name, code, st)) | |||||
| for station in data["payload"]: | |||||
| if station["lng"] == max(lng): | |||||
| print("\nHet meest oostelijke gelegen station is:", station["namen"]["lang"]) | |||||
| @ -0,0 +1,34 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :11-3.py | |||||
| #description :11.3: JSON-files schrijven | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :07-11-2019 - 14:05 | |||||
| #edit_date :07-11-2019 - 14:05 | |||||
| #version :0.1 | |||||
| #usage :python3 11-3.py | |||||
| #notes : | |||||
| #python_version :3.7.4 | |||||
| #============================================================================== | |||||
| import json | |||||
| import datetime | |||||
| bestand = "inlogger.json" | |||||
| time = datetime.datetime.today().strftime("%a %d %b %Y, %H:%M:%S,") | |||||
| while True: | |||||
| naam = input("Wat is je achternaam? ") | |||||
| if naam == "einde": | |||||
| break | |||||
| voorl = input("Wat zijn je voorletters? ") | |||||
| gbdatum = input("Wat is je geboortedatum? ") | |||||
| email = input("Wat is je e-mail adres? ") | |||||
| gdict = {"inlogtijd": time, "naam": naam, "voorletters":voorl,"geb_datum": gbdatum, "e-mail": email} | |||||
| with open(bestand) as json_bestand: | |||||
| data = json.load(json_bestand) | |||||
| with open(bestand, "w") as json_bestand: | |||||
| data.append(gdict) | |||||
| json.dump(data, json_bestand, indent = 4) | |||||
| @ -0,0 +1,205 @@ | |||||
| { | |||||
| "links": {}, | |||||
| "payload": [{ | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "STP", | |||||
| "namen": { | |||||
| "lang": "London St. Pancras Int.", | |||||
| "kort": "London StP", | |||||
| "middel": "London St. P Int" | |||||
| }, | |||||
| "stationType": "MEGA_STATION", | |||||
| "land": "GB", | |||||
| "UICCode": "7015400", | |||||
| "lat": 51.531437, | |||||
| "lng": -0.126136, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "7004428" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "MA", | |||||
| "namen": { | |||||
| "lang": "Augsburg Hbf", | |||||
| "kort": "Augsburg", | |||||
| "middel": "Augsburg Hbf" | |||||
| }, | |||||
| "stationType": "SNELTREIN_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8002140", | |||||
| "lat": 48.3654307143927, | |||||
| "lng": 10.88547706604, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8000013" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "BHF", | |||||
| "namen": { | |||||
| "lang": "Berlin Ostbahnhof", | |||||
| "kort": "Berlin Ost", | |||||
| "middel": "Berlin Ostbhf" | |||||
| }, | |||||
| "stationType": "KNOOPPUNT_INTERCITY_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8003004", | |||||
| "lat": 52.5104989, | |||||
| "lng": 13.4346995, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8010255" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "BSPD", | |||||
| "namen": { | |||||
| "lang": "Berlin-Spandau", | |||||
| "kort": "Berlin-Spa", | |||||
| "middel": "Berlin-Spandau" | |||||
| }, | |||||
| "stationType": "INTERCITY_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8003025", | |||||
| "lat": 52.5343152, | |||||
| "lng": 13.1989467, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8010404" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "GSB", | |||||
| "namen": { | |||||
| "lang": "Berlin Gesundbrunnen", | |||||
| "kort": "Berlin Gsb", | |||||
| "middel": "Berlin Gesundbr." | |||||
| }, | |||||
| "stationType": "INTERCITY_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8007799", | |||||
| "lat": 52.5486327, | |||||
| "lng": 13.3904267, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8011102" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "ESRT", | |||||
| "namen": { | |||||
| "lang": "Schwerte (Ruhr)", | |||||
| "kort": "Schwerte", | |||||
| "middel": "Schwerte (R)" | |||||
| }, | |||||
| "stationType": "STOPTREIN_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8008016", | |||||
| "lat": 51.442281, | |||||
| "lng": 7.55896, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8000037" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "HAGEN", | |||||
| "namen": { | |||||
| "lang": "Hagen Hbf", | |||||
| "kort": "Hagen", | |||||
| "middel": "Hagen Hbf" | |||||
| }, | |||||
| "stationType": "KNOOPPUNT_SNELTREIN_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8008073", | |||||
| "lat": 51.362747, | |||||
| "lng": 7.460249, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8000142" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "WUPPV", | |||||
| "namen": { | |||||
| "lang": "Wuppertal-Vohwinkel", | |||||
| "kort": "Wupp-Vohw", | |||||
| "middel": "Wupp-Vohwinkel" | |||||
| }, | |||||
| "stationType": "STOPTREIN_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8008082", | |||||
| "lat": 51.23351, | |||||
| "lng": 7.07237, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8006718" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "EENP", | |||||
| "namen": { | |||||
| "lang": "Ennepetal", | |||||
| "kort": "Ennepetal", | |||||
| "middel": "Ennepetal" | |||||
| }, | |||||
| "stationType": "STOPTREIN_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8008134", | |||||
| "lat": 51.304892, | |||||
| "lng": 7.343285, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8001795" | |||||
| }, { | |||||
| "sporen": [], | |||||
| "synoniemen": [], | |||||
| "heeftFaciliteiten": true, | |||||
| "heeftVertrektijden": true, | |||||
| "heeftReisassistentie": false, | |||||
| "code": "KSWE", | |||||
| "namen": { | |||||
| "lang": "Schwelm", | |||||
| "kort": "Schwelm", | |||||
| "middel": "Schwelm" | |||||
| }, | |||||
| "stationType": "STOPTREIN_STATION", | |||||
| "land": "D", | |||||
| "UICCode": "8008136", | |||||
| "lat": 51.290526, | |||||
| "lng": 7.289681, | |||||
| "radius": 1, | |||||
| "naderenRadius": 1, | |||||
| "EVACode": "8000033" | |||||
| }], | |||||
| "meta": {} | |||||
| } | |||||
| @ -0,0 +1,30 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :8-5.py | |||||
| #description :Opdracht 8.5 - Dict & functions | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :04-11-2019 - 10:10 | |||||
| #version :0.1 | |||||
| #usage :python3 8-5.py | |||||
| #notes : | |||||
| #python_version :3.7.3 | |||||
| #============================================================================== | |||||
| def namen(): | |||||
| namen = {} | |||||
| while True: | |||||
| naam = str(input("Volgende naam: ")) | |||||
| if naam == "": | |||||
| for name in namen.keys(): | |||||
| if namen[name] == 1: | |||||
| print("Er is", namen[name], "student met de naam", name) | |||||
| else: | |||||
| print("Er zijn", namen[name], "studenten met de naam", name) | |||||
| break | |||||
| else: | |||||
| if naam in namen.keys(): | |||||
| namen[naam] = namen[naam]+1 | |||||
| else: | |||||
| namen[naam] = 1 | |||||
| namen() | |||||
| @ -0,0 +1,17 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :9-1.py | |||||
| #description :Opdracht 9.1 - Sets | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :04-11-2019 - 11:36 | |||||
| #version :0.1 | |||||
| #usage :python3 9-1.py | |||||
| #notes : | |||||
| #python_version :3.7.3 | |||||
| #============================================================================== | |||||
| bruin = {"Boxtel", "Best", "Beukelaan", "Eindhoven", "Helmond 't Hout", "Helmond", "Helmond Brouwhuis", "Deurne"} | |||||
| groen = {"Boxtel", "Best", "Beukelaan", "Eindhoven", "Geldrop", "Heeze", "Weert"} | |||||
| print(bruin.intersection(groen)) | |||||
| print(bruin.difference(groen)) | |||||
| print(bruin.union(groen)) | |||||
| @ -0,0 +1,34 @@ | |||||
| #!/usr/bin/env python3 | |||||
| #title :9-2.py | |||||
| #description :Opdracht 9.2 - Random | |||||
| #author :Marcel Haazen | |||||
| #email :marcel@haazen.xyz | |||||
| #date :04-11-2019 - 11:40 | |||||
| #version :0.1 | |||||
| #usage :python3 9-2.py | |||||
| #notes : | |||||
| #python_version :3.7.3 | |||||
| #============================================================================== | |||||
| import random | |||||
| def randomNum(): | |||||
| return 9 # Fair random number chosen by rolling a D20, Totally random everytime as you never know if its the same | |||||
| def monopolyworp(): | |||||
| throws = 0 | |||||
| while True: | |||||
| throw1 = random.randrange(1,7) | |||||
| throw2 = random.randrange(1,7) | |||||
| if throw1 == throw2: | |||||
| throws += 1 | |||||
| if throws == 3: | |||||
| print(throw1,"+",throw2,"= (Direct to jail)") | |||||
| break | |||||
| else: | |||||
| print(throw1,"+", throw2, "=", throw2+throw1,"(Double)") | |||||
| continue | |||||
| else: | |||||
| print(throw1,"+",throw2,"=", throw2+throw1) | |||||
| break | |||||
| monopolyworp() | |||||