In: Computer Science
SIGN_GROUPS = '[ARI,LEO,SAG]-[TAU,VIR,CAP]-[GEM,LIB,AQU]-[PIS,SCO,CAN]'
def get_sign_group(sign):
'''
(str) -> int
Given a three character string representing a star sign, return
which group (out of 0, 1, 2, or 3) this star sign belongs to.
Use the SIGN_GROUPS string (already defined for you above) to figure
out the group.
i.e. As given by this string '[ARI,LEO,SAG]-[TAU,VIR,CAP]-[GEM,LIB,AQU]-[PIS,SCO,CAN]'
the signs ARI, LEO and SAG are in group 0, the signs TAU, VIR, CAP are in group 1,
and so on.
>>> get_sign_group('ARI')
0
>>> get_sign_group('CAN')
3
'''
How to do this without using lists?
String slicing
SIGN_GROUPS = '[ARI,LEO,SAG]-[TAU,VIR,CAP]-[GEM,LIB,AQU]-[PIS,SCO,CAN]'
def get_sign_group(sign):
'''
(str) -> int
Given a three character string representing a star sign, return
which group (out of 0, 1, 2, or 3) this star sign belongs to.
Use the SIGN_GROUPS string (already defined for you above) to figure
out the group.
i.e. As given by this string '[ARI,LEO,SAG]-[TAU,VIR,CAP]-[GEM,LIB,AQU]-[PIS,SCO,CAN]'
the signs ARI, LEO and SAG are in group 0, the signs TAU, VIR, CAP are in group 1,
and so on.
>>> get_sign_group('ARI')
0
>>> get_sign_group('CAN')
3
'''
k = 0
for i in SIGN_GROUPS.split("-"):
for j in i.split(","):
if(sign in j):
return k
k += 1
return -1

