Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing same arguments to multiple functions - Python

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()
like image 352
Shankar Kumar Avatar asked Jun 15 '26 09:06

Shankar Kumar


1 Answers

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]
like image 68
David Robinson Avatar answered Jun 17 '26 21:06

David Robinson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!