Vraag uitdaging in Python bij for loop

LeoG

Junior lid
#1
Hallo,

Ik ben bezig een cursus van Codecademy te doorlopen en loop tegen de volgende uitdaging aan:

Als ik de volgende code aanroep dan krijg ik netjes het getal op de plaats met index 2 te zien.

new_prices = [25, 20, 35, 15, 15, 30, 45, 30]



35

Als ik vervolgens hetzelfde doe binnen een for loop dan krijg ik een foutmelding.

hairstyles = ["bouffant", "pixie", "dreadlocks", "crew", "bowl", "bob", "mohawk", "flattop"]
new_prices = [25, 20, 35, 15, 15, 30, 45, 30]

cuts_under_30 = []



Foutmelding:


Wie kan mij vertellen wat ik fout doe, ik snap het niet omdat het (new_prices) buiten de for loop schijnbaar wel als integer gezien wordt en binnen de loop niet?
 
Laatst bewerkt:

maarten70

Gevestigd lid
#2
Voordat we beginnen ik ben niet zo thuis in python maar ik ga proberen je te helpen.

Wat voor type is new_prices[]? een int of een string?
 

maarten70

Gevestigd lid
#3
wat je kan proberen is binnen de for loop maar nog boven de if statement een int neer te zetten die de huidige prijs gebruikt, en die dan gebruiken voor de if statement. Dan krijg je dit:

for i in hairstyles:
int price = new_prices
if price < 30:
(.....)
 

LeoG

Junior lid
#4
Hoi Maarten,

Bedankt voor je reactie.

new_prices zou m.i. een integer moeten zijn omdat er in deze lijst (new_prices) alleen maar integers staan.

1 minuut geleden schoot me iets te binnen wat de fout bleek te zijn.
De i in de for statement kan ik niet gebruiken als index in een volgende statement,
Ik heb de eerste i gewijzigd in style en voor/boven de for loop heb ik i de waarde nul gegeven en binnen if de loop tel ik daar steeds 1 bij op om de juiste index te verkrijgen.

Hier de werkende code:


Met bijbehorend antwoord:


Nogmaals dank
 

LeoG

Junior lid
#6
Hoe het nu precies zit weet ik nog niet voor de volle 100% maar het werkt in ieder geval, het begrip komt hopelijk volledig met de ervaring die ik ga krijgen. Ben nu een week echt intensief bezig met programmeren dus er moeten nog heel wat kwartjes gaan vallen :).
 

maarten70

Gevestigd lid
#7
Haha, ja ik heb er ook lang over gedaan met de taal die ik altijd gebruik en ben nog steeds niet de beste. Maar succes in ieder geval.