如何一次使用多个功能?
How to use multiple functions at once?
def add_course(gc, course):
global gpacalc
global creditcalc
gpacalc = gpacalc + (gc * course)
creditcalc = (course + creditcalc)
def gpa():
return (gpacalc/creditcalc)
def credit_total():
return(creditcalc)
我正在尝试编写一个名为 gpa.py 的文件,该文件使用三个函数计算累积 GPA:add_course 在 运行 总数中添加一门新课程,gpa 和 credit_total 分别获取您的累计 GPA 和学分。我正在尝试使用两个全局变量来跟踪 GPA 和学分(最初均为 0)。
-调用 gpa.add_course(3.7, 3) 应将 GPA 3.7 的 3 学分课程添加到 运行 GPA 和学分总数中。
- 调用 gpa.gpa() 应该检索您当前的总 GPA。
- 调用 gpa.credit_total() 应该会检索您当前获得的总学分。
-仅使用一个参数调用 gpa.add_course(例如,gpa.add_course(3.7))应该添加一门 3 学分的课程。
我的代码哪里做错了?我试图让函数和文件本身都包含任何打印或要求任何输入。
您在代码中加入了很多行为与您预期不同的东西,因为 Python 对事物的解释与您预期的不同。我建议退后一步,通过 Python 教程,例如 learnpython.org,它会为您节省大量时间和麻烦。
鉴于您所采用的方法,这里是一个有效的版本,其中包含一些关于我所做更改的评论。
gpacalc = 0
creditcalc = 0
# If you want the course argument to be optional,
# you need to provide a default value for it.
def add_course(gc, course = 3):
global gpacalc
global creditcalc
# += is the concise way to increment a value:
gpacalc += gc * course
creditcalc += course
def gpa():
# No need to use parenthesis for this return value
# unless you intend the result to be in tuple form.
return gpacalc/creditcalc
def credit_total():
# Same here, no need for parenthesis.
return creditcalc
add_course(3.7, 3)
print(gpa()) # 3.7000000000000006
print(credit_total()) # 3
add_course(3.7)
print(credit_total()) # 6
def add_course(gc, course):
global gpacalc
global creditcalc
gpacalc = gpacalc + (gc * course)
creditcalc = (course + creditcalc)
def gpa():
return (gpacalc/creditcalc)
def credit_total():
return(creditcalc)
我正在尝试编写一个名为 gpa.py 的文件,该文件使用三个函数计算累积 GPA:add_course 在 运行 总数中添加一门新课程,gpa 和 credit_total 分别获取您的累计 GPA 和学分。我正在尝试使用两个全局变量来跟踪 GPA 和学分(最初均为 0)。
-调用 gpa.add_course(3.7, 3) 应将 GPA 3.7 的 3 学分课程添加到 运行 GPA 和学分总数中。 - 调用 gpa.gpa() 应该检索您当前的总 GPA。 - 调用 gpa.credit_total() 应该会检索您当前获得的总学分。 -仅使用一个参数调用 gpa.add_course(例如,gpa.add_course(3.7))应该添加一门 3 学分的课程。
我的代码哪里做错了?我试图让函数和文件本身都包含任何打印或要求任何输入。
您在代码中加入了很多行为与您预期不同的东西,因为 Python 对事物的解释与您预期的不同。我建议退后一步,通过 Python 教程,例如 learnpython.org,它会为您节省大量时间和麻烦。
鉴于您所采用的方法,这里是一个有效的版本,其中包含一些关于我所做更改的评论。
gpacalc = 0
creditcalc = 0
# If you want the course argument to be optional,
# you need to provide a default value for it.
def add_course(gc, course = 3):
global gpacalc
global creditcalc
# += is the concise way to increment a value:
gpacalc += gc * course
creditcalc += course
def gpa():
# No need to use parenthesis for this return value
# unless you intend the result to be in tuple form.
return gpacalc/creditcalc
def credit_total():
# Same here, no need for parenthesis.
return creditcalc
add_course(3.7, 3)
print(gpa()) # 3.7000000000000006
print(credit_total()) # 3
add_course(3.7)
print(credit_total()) # 6