Esempio n. 1
0
        if total == validnumber:
            logger.info ("Number %s is perfect", validnumber)
        elif total < validnumber:
            logger.info("Number %s is deficient", validnumber)
        else:
            logger.info("Number %s is abundant", validnumber)



def toValidNumber(candidate):
    try:
        val = int(candidate)
        if val < 2 or str(val) != str(candidate):  # if not a positive int print message and ask for input again
            logger.error("%s must be greater than 1 and it must be integer", candidate)
            return -1
    except ValueError:
        logger.error("%s is not a valid number", candidate)
        return -1
    return val



if __name__ == "__main__":
    logger.debug("Invoking main program with arguments %s", sys.argv )
    parser = argparse.ArgumentParser(description='Calculate divisors')
    parser.add_argument('numberlist', metavar='List', nargs='+',
                        help='list of natural numbers greater than 1, sepparated by blanks (for instance: 3 89 468)')

    args = parser.parse_args()
    main(args.numberlist)