Click here to Skip to main content
15,896,118 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
How to iterate a list having integer on >, < , >=,<= in python

What I have tried:

def convert(*a):
    for n in a:
        if n<8: 
                print (n)
        elif n>= 11 and n<=18:
                print (n-2)
        elif n>= 20 and n<=319:
                print (n-3)  
        elif n>= 321 and n<=328:
                print (n-4)
        elif n>= 331 and n<=338:
                print (n-6)
        elif n>= 341 and n<=348:
                print (n-8)
        elif n>= 351 and n<=358:
                print (n-10)
        elif n>= 360 and n<=659:
                print (n-11)
        elif n>= 661 and n<=668:
                print (n-12) 
        elif n>= 671 and n<=678:
                print (n-14) 
        else:
                print (0) 


list1=[34,332,34,75,454,76,78,898]
convert(list1)
Posted
Updated 3-Mar-20 22:42pm
v2

1 solution

You do not need the asterisk on the parameter name:
Python
def convert(a):
    for n in a:

Python knows that parameter a is a list, so there is no need to mark it as a variable set.
 
Share this answer
 
Comments
Richard MacCutchan 4-Mar-20 7:45am    
What problem? When I run it it prints a list of values, all of which are correct:
31
326
31
72
443
73
75
0
User-14705882 5-Mar-20 1:50am    
yeah , thanks it works now

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900