Marcel Haazen 5 роки тому
джерело
коміт
20f0eb52bb
Підписано: nekocentral <marcel@haazen.xyz> Ідентифікатор GPG ключа: C912C3DFE2C4FB9D
13 змінених файлів з 527 додано та 0 видалено
  1. +54
    -0
      Final Assignment/FA-3.py
  2. +25
    -0
      les 10/10-1.py
  3. +23
    -0
      les 10/10-2.py
  4. +35
    -0
      les 10/10-3.py
  5. +6
    -0
      les 10/kaartnummers.txt
  6. +35
    -0
      les 11/11-1.py
  7. +29
    -0
      les 11/11-2.py
  8. +34
    -0
      les 11/11-3.py
  9. +0
    -0
      les 11/inlogger.json
  10. +205
    -0
      les 11/stationslijst.json
  11. +30
    -0
      les 8/8-5.py
  12. +17
    -0
      les 9/9-1.py
  13. +34
    -0
      les 9/9-2.py

+ 54
- 0
Final Assignment/FA-3.py Переглянути файл

@ -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)

+ 25
- 0
les 10/10-1.py Переглянути файл

@ -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!")

+ 23
- 0
les 10/10-2.py Переглянути файл

@ -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?")

+ 35
- 0
les 10/10-3.py Переглянути файл

@ -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.")

+ 6
- 0
les 10/kaartnummers.txt Переглянути файл

@ -0,0 +1,6 @@
325255, Jan Jansen
334343, Erik Materus
235434, Ali Ahson
645345, Eva Versteeg
534545, Jan de Wilde
345355, Henk de Vries

+ 35
- 0
les 11/11-1.py Переглянути файл

@ -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))

+ 29
- 0
les 11/11-2.py Переглянути файл

@ -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"])

+ 34
- 0
les 11/11-3.py Переглянути файл

@ -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
les 11/inlogger.json Переглянути файл


+ 205
- 0
les 11/stationslijst.json Переглянути файл

@ -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": {}
}

+ 30
- 0
les 8/8-5.py Переглянути файл

@ -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()

+ 17
- 0
les 9/9-1.py Переглянути файл

@ -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))

+ 34
- 0
les 9/9-2.py Переглянути файл

@ -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()

Завантаження…
Відмінити
Зберегти