将参与者分为多个组

时间:2018-11-04 13:48:57

标签: python

这些是我的数据库文件的内容。

Begintijd,Tijd van voltooien,E-mail,Naam,Naam2,Individuele reservering of een groepsreservering,Hoeveel mensen zitten in de groep,Aan welke onderdelen wil je meedoen.,Meedoen aan het simulatie programma
11-1-18 10:25:42,11-1-18 10:25:59,anonymous,,kenny meisen,individueel,,keuze 1,Ja
11-1-18 10:26:01,11-1-18 10:26:13,anonymous,,miguel daniels,groep,4,keuze 3,Nee
11-1-18 10:26:14,11-1-18 10:26:31,anonymous,,giuseppe collura,individueel,,keuze 2,Nee
11-1-18 10:26:32,11-1-18 10:26:54,anonymous,,rick van grinsven,groep,6,keuze 2,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,Berend batsbak,individueel,,keuze 2,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,aziz sjoeloeloelie,individueel,,keuze 2,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,cairo pizzaria,groep,8,keuze 2,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,kapsalon döner,individueel,,keuze 1,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,Kleine kindjes slaan,individueel,,keuze 2,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,Uhhh joaaaneaa,groep,4,keuze 1,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,schnitzel stube,individueel,,keuze 3,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,dextra champignonroomsaus,individueel,,keuze 2,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,darcy huppelduppel,individueel,,keuze 3,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,danny erendson,groep,6,keuze 2,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,brand bier,individueel,,keuze 1,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,karmeliet tripel,individueel,,keuze 3,Ja
11-1-18 10:26:55,11-1-18 10:27:08,anonymous,,daniel duinhouwer,individueel,,keuze 3,Ja

这是我的python代码:

deelnemers = open('C:/SpaceFrontier4.csv', 'r') #de database wordt geopend
deelnemers.readline() #de eerste regel wordt ingelezen
scheidingsregel = ('------------------------------------------------------------')


print()
print('|=======================|' )
print('|De database is geopend |' )
print('|=======================|' )
print()


def deelname1(): #print de deelnemers van lezing en workshop 1
    print(scheidingsregel)
    print('Programma voor de lezing en workshop over:', p1ond)
    print('De lezing over', p1ond, 'begint om', p1tijd)
    print()
    print('Deelnemers:\n')
    print(programma1)
    print(scheidingsregel)

def deelname2(): #print de deelnemers van lezing en workshop 2
    print(scheidingsregel)
    print('Programma voor de lezing en workshop over:', p2ond)
    print('De lezing over', p2ond, 'begint om', p2tijd)
    print()
    print('Deelnemers:\n')
    print(programma2)
    print(scheidingsregel)

def deelname3(): #print de deelnemers van lezing en workshop 3
    print(scheidingsregel)
    print('Programma voor de lezing en workshop over:', p3ond)
    print('De lezing over', p3ond, 'begint om', p3tijd)
    print()
    print('Deelnemers:\n')
    print(programma3)
    print(scheidingsregel)

def simulatiedeelname():
    print(scheidingsregel)
    print(simulatie)
    print(scheidingsregel)



p1ond = input('Wat is het onderwerk van de 1e lezing?\n')
p1tijd = input('Hoelaat begin de 1e lezing?\n')

p2ond = input('Wat is het onderwerk van de 2e lezing?\n')
p2tijd = input('Hoelaat begin de 2e lezing?\n')

p3ond = input('Wat is het onderwerk van de 3e lezing?\n')
p3tijd = input('Hoelaat begin de 3e lezing?\n')

simulatiedag = input('Op welke dag vindt het simulatieprogramma plaats?\n')

#print(data) #testen of de data goed wordt weergeven en goed is verwerkt
empty_str = ('')

namen = []
individueel = []
aantal = []
keuze = []

#datacontainers voor verwerking
simulatie = []
simulatie2 = []
programma1 = []
programma2 = []
programma3 = []

for line in deelnemers:


    line = line.strip('\n')
    line = line.split(',')

    if line[6] == empty_str: #wanneer iemand alleen is een vraag 3 niet invult
        line[6] = 1          #wordt dit vanzelf een 1

    if line[7] == ('keuze 1'):      #controle keuze 1
        programma1.append(line[4])
    if line[7] == ('keuze 2'):      #controle keuze 2
        programma2.append(line[4])
    if line[7] == ('keuze 3'):      #contole keuze 3
        programma3.append(line[4])
    if line[8] == ('Ja'):           #controle simulatie
        count = int('0')
        control = int(line[6])
        if control == 8:
            while count != control:
                simulatie.append([line[4]])
                count = count + 1
        else:
            simulatie.append(line[4])
            count = count + 1




    namen.append(line[4]);
    individueel.append(line[5])
    aantal.append(int(line[6]))
    keuze.append(line[7])




deelname1()
deelname2()
deelname3()
simulatiedeelname()

对于我的研究,我必须用python编写一个程序,该程序输出以下结果: -选项1、2和3的参与者列表(代码的此部分已在起作用) -Simulatie计划的参与者列表。 (由于我对如何编写此代码一无所知,因此该部分尚无法正常工作。

只要有人想参加“ Simulatie Programma”课程,第[8]行就会说“ Ja”。如果line [8] =='Ja',则代码使用append将其名称复制到列表'simulatie'中。代码必须执行此操作的次数与line [7]中的值相同。 (因此,例如,当利亚姆(Liam)保留6个位置时,列表中利亚姆(Liam)将是6倍。) 之后,我必须将5个小组中的每个人分开,每个小组最多8人。 (第[7]行永远不会比8高)。这是我遇到的问题,希望有人可以解决这个问题。

我为可能的错误编码而道歉,但是由于我刚刚开始学习并且还没有任何经验,所以我不得不使用我所掌握的知识。

1 个答案:

答案 0 :(得分:0)

这可能有效:

if line[8] == ('Ja'):           #controle simulatie
    count = 0
    control = int(line[6])
    for i in range(control):
        if count >= 8:
            break
        simulatie.append(line[4])
        count += 1