Hallo,
Ik ben voor mijn opleiding met een kleine python opdracht bezig, alleen gebeurd er iets heel raars.
Ik moet een soort systeempje voor een zorginstelling waarbij ze vanaf een csv bestand klantgegevens op kunnen roepen. Het moet voor zowel patiënten als artsen beschikbaar zijn. De arts heeft toegang tot alle gegevens. Maar de patiënt alleen tot zijn eigen.
Ik ben met deze code begonnen. Zodra een patiënt zijn inloggegevens invoert begint de waarde i zich op te tellen tot de juiste patiënt is gevonden. Daarna staat de waarde vast en kan ik deze gebruiken om de juiste rij te laten printen. Alleen heb ik een probleem.
De i waarde die ik toewijs blijft op een wonderbaarlijke wijze vast staan op 4. Bij alle inloggegevens die ik invoer wordt de 4e patiënt uit het bestand uitgeprint. Ik heb echt geen idee waardoor dit komt.
Zou iemand weten wat dit probleem veroorzaakt?
Ik ben voor mijn opleiding met een kleine python opdracht bezig, alleen gebeurd er iets heel raars.
Ik moet een soort systeempje voor een zorginstelling waarbij ze vanaf een csv bestand klantgegevens op kunnen roepen. Het moet voor zowel patiënten als artsen beschikbaar zijn. De arts heeft toegang tot alle gegevens. Maar de patiënt alleen tot zijn eigen.
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| import csv import sys with open('patientgegevens.csv') as csvfile: readCSV = csv.reader(csvfile, delimiter= ';') gegevens = [] for row in readCSV: gegevens.insert(0,row) with open('artsen.csv') as csvfile: readCSVarts = csv.reader(csvfile, delimiter= ';') gegevens_artsen = [] for row in readCSVarts: gegevens_artsen.insert(0,row) def dossier_systeem(): global gegevens uitvoerprogramma = True uitvoerintro = True if uitvoerintro == True: print('Welkom bij eHealthSysT') print('Wilt u als patiënt inloggen, druk op 1') print('Wilt u als arts inloggen, druk op 2') global keuze_ap keuze_ap = int(input('Kies een optie: ')) if keuze_ap == 1: intro = False print('Inloggen als patiënt: ') gebruikersnaam = input('Voer hier uw gebruikersnaam in: ') wachtwoord = input('Voer hier uw wachtwoord in: ') intro = False controle = True i = -1 j = len(gegevens) while i != j - 1 and controle == True: i = i + 1 if gebruikersnaam == gegevens[i][8] and wachtwoord == gegevens[i][9]: print("Gebruikersnaam en wachtwoord kloppen! U bent ingelogd!") controle = False doorgaan = True doorgaan = True while doorgaan: print("Hallo", gegevens[i][0], ", Welkom in het eHealthSysT") print("Wat wilt u doen?") print("Druk op 1 om uw bestaande dossier in te zien") print("Druk op 2 om gegevens aan uw dossier toe te voegen") print("Druk op 3 om gegevens in uw dossier aan te passen") print("Druk op 4 om te stoppen") keuze = int(input("Maak hier uw keuze: ")) |
Ik ben met deze code begonnen. Zodra een patiënt zijn inloggegevens invoert begint de waarde i zich op te tellen tot de juiste patiënt is gevonden. Daarna staat de waarde vast en kan ik deze gebruiken om de juiste rij te laten printen. Alleen heb ik een probleem.
De i waarde die ik toewijs blijft op een wonderbaarlijke wijze vast staan op 4. Bij alle inloggegevens die ik invoer wordt de 4e patiënt uit het bestand uitgeprint. Ik heb echt geen idee waardoor dit komt.
Zou iemand weten wat dit probleem veroorzaakt?
[ Voor 0% gewijzigd door MueR op 25-01-2016 15:12 . Reden: code tags ]
Steam: iantje31 | AMD Ryzen 7 5800X, 32 GB 3600MHz RAM, MSI GTX 1080 8G Gaming Edition