I have an array where each position in the array represents a parking spot. The value of each position in the array (or parking lot) represents what is in the parking spot (car, motorcycle, etc.). The showSpots function should show all of the spots a certain vehicle is in. For example, showSpots(CAR) (where CAR = 1) should show all of the spots (or positions in the array) that hold the value 1.
However, when I run the code, I get a 'TypeError: argument of type 'int' is not iterable' on the line 'if holder in parkingLot[x]:'
Why am I getting this error, and how do I fix it?
My code:
from random import *
parkingLot = [0, 1, 0, 2, 0, 0, 1]
EMPTY = 0
CAR = 1
MOTORCYCLE = 2
def showSpots(holder):
for x in range(0, 6):
if holder in parkingLot[x]:
print(x)
def main():
print("There are cars in lots:")
showSpots(CAR)
print("There are motorcycles in lots:")
showSpots(MOTORCYCLE)
main()
I think you want if holder == parkingLot[x]:
. By doing in
, Python is trying to iterate through parkingLot[x]
and check if holder
is in it. Obviously, since you can't do list(1)
, then an error is raised.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With