I am trying to define a function in python in which the function has two possible sets of arguments.I am writing a code to determine an overall course grade and depending on if they change the standard course weights depends on how many arguments I want to send to the function that calculates the grade. If they do not change the standard weights I only want to pass two arguments(test scores and lab scores). If they change the weights I want to pass four arguments(test scores, lab scores, lab weight and test weight).Overall I am not sure how I would go about defining said function since the usual practice is simply putting all the arguments in the function to begin.
GradeWeight=raw_input('Enter C to change weights or D to use default weights.')
GradeWeight=GradeWeight.upper()
if GradeWeight=='D':
grade_calculator(a=LabScores,b=TestScores)
elif GradeWeight=='C':
LabWeight=float(input('What is the lab weight percentage?(without the %)'))
TestWeight=float(input('What is the test weight percentage?(without the %)'))
grade_calculator(a=LabScores,b=TestScores,c=LabWeight,d=TestWeight)
def grade_calculator():