Hoi, Op het eerste gezicht loop je maar 1x door de lijst heen. Dat betekent dat je gemiddelde telkens verandert; bij de 4e stad heb je het gemiddelde over de eerste vier steden, niet over alles. Het kan best dat die stad met 14 graden hoger is dan het gemiddelde tot dan toe.
Dus: eerst gemiddelde berekenen, dan nog een keer door de lijst en opsplitsen. Omdat wij je nu met je huiswerk helpen, is hier de nieuwe opdracht: maak je oplossing beter door het werk in mooie functies als 'vind_gemiddelde' en 'splits_lijst' onder te verdelen, met de juiste argumenten, en het resultaat hier heen te sturen. Succes :-) Remco krimble wrote: >[code]bestand = open('weer.txt', 'r') > >temperatuur = {} >totaal = 0 >lijst = [] > >lijstgroter = [] >lijstkleiner = [] > >for line in bestand : > if not line[0] == '#' : > l = line.split() > > > ## for calculating gemiddelde > getallen = l[1] > lijst.append(getallen) > totaal += int(getallen) > gemiddelde = totaal / len(lijst) > > temperatuur[l[0]] = l[1] > > ## if getal in l > gemiddelde then do something, else do something >else > if int(l[1]) >= gemiddelde : > lijstgroter.append(l) > elif int(l[1]) < gemiddelde : > lijstkleiner.append(l) > >print "De gemiddelde temperatuur = " + str(gemiddelde) + " graden." + "\n >\n" >print "De steden met minstens de gemiddelde temperatuur: " + "\n" + >str(lijstgroter) + "\n \n" >print "De steden met een temperatuur onder het gemiddelde:" + "\n" + >str(lijstkleiner) > >bestand.close()[/code] > >en de output is: > >De gemiddelde temperatuur = 15 graden. > > >De steden met minstens de gemiddelde temperatuur: >[['Athene', '19'], ['Istanbul', '19'], ['Las-Palmas', '17'], ['Lissabon', >'18'], ['Mallorca', '14'], ['Marseille', '14'], ['Moskou', '16'], ['Rome', >'15'], ['Bangkok', '37'], ['Curacao', '27'], ['Jakarta', '31'], >['Johannesburg', '17'], ['Los-Angeles', '15'], ['Mexico-Stad', '17'], >['Nairobi', '19'], ['Peking', '20'], ['Perth', '21'], ['Sydney', '20'], >['Tel-Aviv', '21']] > > >De steden met een temperatuur onder het gemiddelde: >[['Barcelona', '15'], ['Berlijn', '7'], ['Londen', '12'], ['Madrid', '6'], >['Milaan', '12'], ['Munchen', '6'], ['Parijs', '11'], ['Praag', '7'], >['Stockholm', '6'], ['Warschau', '8'], ['Wenen', '11'], ['Buenos-Aires', >'9'], ['Chicago', '11'], ['New-York', '10'], ['Tokyo', '13'], ['Toronto', >'5'], ['Vancouver', '14']] > > >Wat niet klopt omdat in de eerste lijst ['Mallorca', '14'], ['Marseille', >'14'] onder het gemiddelde zijn, deze 2 zouden dus eigenlijk in de onderste >lijst moeten zitten. > >Weet iemand hoe dit kan ? > >Bedankt. > > _______________________________________________ Python-nl mailing list Python-nl@python.org http://mail.python.org/mailman/listinfo/python-nl