1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/src/string_hash.py Tue Jun 07 01:09:23 2011 +0200
1.3 @@ -0,0 +1,24 @@
1.4 +"""
1.5 +Name: string_hash - a string hashing program
1.6 +Description: Basic string hashing program according to Theory I lecture.
1.7 +Author: Eugen Sawin <sawine@informatik.uni-freiburg.de>
1.8 +"""
1.9 +
1.10 +def main():
1.11 + args = parse_arguments()
1.12 + for string in args.strings.split():
1.13 + print "%s: %i" % (string, hash(string, args.m))
1.14 +
1.15 +def hash(string, m):
1.16 + return sum(map(ord, string)) % m
1.17 +
1.18 +from argparse import ArgumentParser
1.19 +
1.20 +def parse_arguments():
1.21 + parser = ArgumentParser(description="Returns the hash for given string and m.")
1.22 + parser.add_argument("strings", help="strings")
1.23 + parser.add_argument("m", type=int, help="m value")
1.24 + return parser.parse_args()
1.25 +
1.26 +if __name__ == "__main__":
1.27 + main()