def eff(effort_str):
    """Convert effort string to float.

    Various 'bad' strings are coped with: n? ?n n+ <n?
    """
    # Munge some bad strings to be good
    if effort_str and effort_str[0] in ['<', '?']:
        effort_str = effort_str[1:]
    if effort_str and effort_str[-1] in ['?', '+']:
        effort_str = effort_str[:-1]
    # Convert to float
    if effort_str:
        return float(effort_str)
    else:
        return 0.0