sawine@0: """ sawine@0: Name: string_hash - a string hashing program sawine@0: Description: Basic string hashing program according to Theory I lecture. sawine@0: Author: Eugen Sawin sawine@0: """ sawine@0: sawine@0: def main(): sawine@0: args = parse_arguments() sawine@0: for string in args.strings.split(): sawine@0: print "%s: %i" % (string, hash(string, args.m)) sawine@0: sawine@0: def hash(string, m): sawine@0: return sum(map(ord, string)) % m sawine@0: sawine@0: from argparse import ArgumentParser sawine@0: sawine@0: def parse_arguments(): sawine@0: parser = ArgumentParser(description="Returns the hash for given string and m.") sawine@0: parser.add_argument("strings", help="strings") sawine@0: parser.add_argument("m", type=int, help="m value") sawine@0: return parser.parse_args() sawine@0: sawine@0: if __name__ == "__main__": sawine@0: main()