Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将相同的参数传递给多个函数-Python_Python_Function_Arguments_Parameter Passing - Fatal编程技术网

将相同的参数传递给多个函数-Python

将相同的参数传递给多个函数-Python,python,function,arguments,parameter-passing,Python,Function,Arguments,Parameter Passing,在下面的GPA计算程序中,我的两个函数采用相同的参数。将相同参数传递给两个或多个函数的最佳方法是什么?谢谢大家! 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 cumulat

在下面的GPA计算程序中,我的两个函数采用相同的参数。将相同参数传递给两个或多个函数的最佳方法是什么?谢谢大家!

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()

您可以使用
**
将相同的词典传递给每个人(请参阅):


在这里,以参数的元组/列表开头也可以。仅供参考:您的
cumulative
函数从不使用传递给它的参数。你想把它们传给sem_5吗?如果是这样,将其更改为
def累计(**kwargs)
,然后调用
+sem_5(**kwargs)
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]