I have a table with product codes, the first two chars of the product code is the product group.
using the product group I'd like to test the content of certain data.

Would this be proper coding or is there a better way ?

if prodcust_code[:2] == "AB" do:
   ABsubroutine
if prodcust_code[:2] == "CC" do:
   CCsubroutine
if prodcust_code[:2] == "EF" do:
   EFsubroutine
if prodcust_code[:2] == "US" do:
   USsubroutine

Recommended Answers

Something like this look better,and 'do' is not used in Python.

s = 'ABsomething'
if s.startswith(('AB','CC','EF','US')):
    print '{}subroutine'.format(s[:2])
else:
    print 'Substring not found'
Jump to Post

If you want to call the appropriate function, do this ...

code = prodcust_code[:2]
if code == "AB":
   function_AB()
elif code == "CC":
   function_CC()
elif code == "EF":
   function_EF()
elif code == "US":
   function_US()
else:
    print("No function found for {}".format(code))
Jump to Post

All 2 Replies

Something like this look better,and 'do' is not used in Python.

s = 'ABsomething'
if s.startswith(('AB','CC','EF','US')):
    print '{}subroutine'.format(s[:2])
else:
    print 'Substring not found'

If you want to call the appropriate function, do this ...

code = prodcust_code[:2]
if code == "AB":
   function_AB()
elif code == "CC":
   function_CC()
elif code == "EF":
   function_EF()
elif code == "US":
   function_US()
else:
    print("No function found for {}".format(code))