【发布时间】:2021-08-29 15:43:02
【问题描述】:
我有以下功能
def score(midterm, final, practice, *assignments, **quiz):
a = 0.25 * midterm
b = 0.25 * final
c = 0.2 * practice
i=0
d = 0
for assignment in assignments:
d += assignment
i += 1
d = d/i
d = 0.05 * d
for q in quiz:
e = 0.25 * quiz[q]
return a+b+c+d+e
但我有一个问题,我不知道如何输入多个值。如果我使用编码,那么我可以这样写
print(score(77, 65, 88, 75, 81, 80, quiz = 82))
我希望用户输入参数值。对于 'assignments' 参数,它是一个不确定的数字。它可以在关键字参数之前增加 1/2/3/多个值。谁能告诉我怎么做?
【问题讨论】:
-
看看
str.split()... -
您希望用户也输入关键字参数吗?那应该是什么样子?如果不是,那么这是 Taking multiple inputs from user in python 的副本。
-
题外话,但
e在每次迭代时都会重置,这似乎不正确。此外,设置d确实过于复杂。你可以做d = 0.05 * statistics.mean(assignments)
标签: python function input keyword-argument