Browse Source

Calculate deep exploration production percentage

JoostSijm 5 years ago
parent
commit
ea3f1b418c
1 changed files with 48 additions and 0 deletions
  1. 48 0
      deep_expo_percentage.py

+ 48 - 0
deep_expo_percentage.py

@@ -0,0 +1,48 @@
+"""Calculate resources koef"""
+
+
+def nth_root(num, root):
+    """Calculte nth root"""
+    answer = num ** (1/root)
+    return answer
+
+def calc_resource_factor(resource_limit, koef_factor):
+    """Calculate resource factor based on limit"""
+    return pow(resource_limit * koef_factor / 10, 0.8)
+    # a = (resource_limit * koef_factor / 10)**0.8
+    # a = (m * n / c) ** d
+
+def calc_required_limit(koef, koef_factor):
+    """Calculate amount of deep exploration points"""
+    # m = (c * nth_root(a, d)) / n
+    return (10 * nth_root(koef, 0.8)) / koef_factor
+
+def calc_deep_exploration(resource_limit, percentage, koef_factor, max_limit):
+    """Calculate deep expo for resource"""
+    initial_koef = calc_resource_factor(resource_limit, koef_factor)
+    new_koef = initial_koef * (percentage / 100 + 1)
+
+    required_limit = calc_required_limit(new_koef, koef_factor)
+    print(required_limit)
+    if required_limit > max_limit:
+        required_limit = max_limit
+    print("{:5.2f} {:4.2f} {:4.2f} {:4.0f}".format(
+        percentage,
+        initial_koef,
+        new_koef,
+        required_limit - resource_limit
+    ))
+
+if __name__ == "__main__":
+    print("%      old   new deep")
+    print('Noord-Nederland')
+    calc_deep_exploration(379, 0, 0.4, 637)
+    print('Oost-Nederland')
+    calc_deep_exploration(359, 80, 0.4, 637)
+    print('West-Nederland')
+    calc_deep_exploration(372, 25, 0.4, 637)
+    print('Zuid-Nederland')
+    calc_deep_exploration(366, 25, 0.4, 637)
+    print('Amsterdam')
+    calc_deep_exploration(418, 45, 0.4, 637)
+    calc_deep_exploration(439, 35, 0.4, 637)