Reputation: 2357
In the GPA calculating program below, my two functions take the same parameters. What is the best way to pass the same parameters to two or more functions? Thank you!
def main():
cumulative(ee311=3, cpre281=3, math207=3.67, ee332=3, jlmc101=4)
print "Your semester 5 gpa is:", sem_5(ee311=3, cpre281=3, math207=3.67, ee332=3, jlmc101=4)[0]
def cumulative(ee311, cpre281, math207, ee332, jlmc101):
qpts_so_far = 52 + 40.97 + 47.71 + 49
total_qpts = qpts_so_far + sem_5(ee311=3, cpre281=3, math207=3.67, ee332=3, jlmc101=4)[1]
total_gpa = total_qpts/(13 + 13 + 13 + 15 + 17)
print "Your cumulative GPA is:", total_gpa
def sem_5(ee311=3, cpre281=3, math207=3.67, ee332=3, jlmc101=4):
sem_5_qpts = 4*ee311 + 4*cpre281 + 3*math207 + 3*ee332 + 3*jlmc101
sem_5_gpa = (sem_5_qpts)/17.0
return sem_5_gpa, sem_5_qpts
if __name__ == '__main__':
main()
Upvotes: 7
Views: 9417
Reputation: 78630
You could pass the same dictionary to each using **
(see here):
args = dict(ee311=3, cpre281=3, math207=3.67, ee332=3, jlmc101=4)
cumulative(**args)
print "Your semester 5 gpa is:", sem_5(**args)[0]
Upvotes: 13