Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Python – TypeError: '<' not supported between instances of 'int' and 'list'

I’m doing a small task in Python. I have to categorizes age into six different categories, based on the age ranges specified in the question. If the age is less than 18, the code prints "Category: Under 18". If the age is between 18 and 24, the code prints "Category: 18-24", and so on.

Here’s my code:

Age_Group = [18,24,34,44,54,64]


if Age_Group < 18:
    print("Category: Under 18")

elif Age_Group  >= 18 and Age_Group <= 24:
    print("Category: 18-24")

elif Age_Group  >= 25 and Age_Group  <= 34:
    print("Category: 25-34")

elif Age_Group  >= 35 and Age_Group  <= 44:
    print("Category: 35-44")

elif Age_Group  >= 45 and Age_Group  <= 54:
    print("Category: 45-54")

elif Age_Group  >= 55:
    print("Category: 55 and over")

When I executed the code, I got ‘TypeError’ message:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-166-8814d798b4aa> in <module>
      2 
      3 
----> 4 if Age_Group < 18:
      5     print("Category: Under 18")
      6 

TypeError: '<' not supported between instances of 'list' and 'int'

Can anyone help me with this?

>Solution :

You need to access each element of the list and perform the comparison, instead of using <=> operators between list and integer value:

Age_Group = [18,24,34,44,54,64]

for i in Age_Group:
    print(f"Age {i}")
    if i < 18:
        print("Category: Under 18")
    
    elif i  >= 18 and i <= 24:
        print("Category: 18-24")
    
    elif i  >= 25 and i  <= 34:
        print("Category: 25-34")
    
    elif i  >= 35 and i  <= 44:
        print("Category: 35-44")
    
    elif i  >= 45 and i  <= 54:
        print("Category: 45-54")
    
    elif i  >= 55:
        print("Category: 55 and over")

Output:

Age 18
Category: 18-24
Age 24
Category: 18-24
Age 34
Category: 25-34
Age 44
Category: 35-44
Age 54
Category: 45-54
Age 64
Category: 55 and over
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading