online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
import random from statistics import median N = 100000 # Set this to the number of simulated rolls to aggregate def d20(luck=False): result = random.randint(1, 20) if luck and result == 1: result = random.randint(1, 20) return result def count_20s(lst): count = 0 for ele in lst: if ele == 20: count = count + 1 return count def median_roll(rolls): return median(rolls) def ratio_crits(rolls): return round((count_20s(rolls) / N) * 100) def average_triple_advantage(luck=False): rolls = [] for _ in range(N): ea_roll = [max(d20(luck), d20(luck)), d20(luck)] rolls.append(max(ea_roll)) return [median_roll(rolls), ratio_crits(rolls)] def average_advantage(luck=False): rolls = [max(d20(luck), d20(luck)) for x in range(N)] return [median_roll(rolls), ratio_crits(rolls)] def average_disadvantage(luck=False): rolls = [min(d20(luck), d20(luck)) for x in range(N)] return [median_roll(rolls), ratio_crits(rolls)] def average_of_d20(luck=False): rolls = [d20(luck) for x in range(N)] return [median_roll(rolls), ratio_crits(rolls)] print("Median roll with EA is {0} and {1}% are crits.".format(*average_triple_advantage())) print("Median roll with Adv is {0} and {1}% are crits.".format(*average_advantage())) print("Median roll on 1d20 is {0} and {1}% are crits.".format(*average_of_d20())) print("Median roll with DisAdv is {0} and {1}% are crits.".format(*average_disadvantage()))

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue