|
@@ -5,10 +5,11 @@ import random
|
|
|
from argparse import ArgumentParser
|
|
|
|
|
|
parser = ArgumentParser()
|
|
|
-parser.add_argument("color", nargs="?", default=None)
|
|
|
-parser.add_argument("-n", "--number", default=1, type=int)
|
|
|
-parser.add_argument("--database", default="database.csv")
|
|
|
-parser.add_argument("-v", "--verbose", action="store_true")
|
|
|
+parser.add_argument("color", nargs="?", default=None, help="Target color, randomized if not provided")
|
|
|
+parser.add_argument("-n", "--number", default=1, type=int, help="Number of Pokemon to find")
|
|
|
+parser.add_argument("-c", "--closeness", default=2, type=int, help="Closeness coefficient")
|
|
|
+parser.add_argument("--database", default="database.csv", help="Database file")
|
|
|
+parser.add_argument("-v", "--verbose", action="store_true", help="Print raw scores")
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
if args.number <= 0:
|
|
@@ -25,7 +26,7 @@ else:
|
|
|
results = []
|
|
|
with open(args.database) as infile:
|
|
|
for name, x, *y in csv.reader(infile, delimiter=",", quotechar="'"):
|
|
|
- score = float(x) - sum(float(y_c) * c for y_c, c in zip(y, color))
|
|
|
+ score = float(x) - args.closeness * sum(float(y_c) * c for y_c, c in zip(y, color))
|
|
|
results.append((score, name))
|
|
|
|
|
|
if args.number > 1:
|